Professional Documents
Culture Documents
Klase u Javi
Klase u Javi
Klasa je specifikacija svojstava odreene vrste
objekata.
Klasa definie novi tip.
Definicija klase se koristi za kreiranje objekata
tog klasnog tipa.
Kreirani objekti sadre sve komponente koje su
specifikovane u klasi.
Primer: klasa String predstavlja definiciju ili
specifikaciju za String objekte sa svim
operacijama koje se mogu izvravati nad njima.
Kad god se kreira novi objekat klase String, on
ima sve karakteristike koje su definisane u klasi.
Definicija klase
Definicija klase sadri:
promenljive (polja) mogu biti primitivnog
tipa ili mogu da referiu na objekte
proizvoljnog klasnog tipa, ukljuujui i onaj
koji definiemo
Razlikujemo tri vrste promenljivih:
instancne
klasne ili statike (static)
finalne ili konstantne (final)
Instancne promenljive
Svaka instanca (objekat) klase ima svoju
kopiju instancne promenljive u memoriji.
Instancne promenljive razlikuju objekte
meusobno.
Nazivamo ih i nestatikim promenljivim.
Instancnim promenljivim predstavljene
su najbitnije karaktristike objekata klase,
tj. one koje ih jednoznano identifikuju.
Klasna
Finalne promenljive
Deklariu se kljunom reju final.
Ove promenljive imaju konstantnu
vrednost koja se zadaje kao inicijalna
vrednost u deklaraciji.
Obino se koriste za predstavljanje nekih
konstantnih vrednosti koje u nekom smislu
karakteriu objekte klase.
Svaki objekat imae svoju kopiju final
promenljive (osim ako nije deklarisana
pomou static).
Primer
Napomene!
Definisanje klase
Definisanje metoda
Promenljiva this
Inicijalizacioni blokovi
Konstruktor
Podrazumevani konstruktor
Primer:
Sfera lopta;
Preoptereenje konstruktora
Konstruktori se mogu preopteretiti, kao i
bilo koji drugi metodi klase.
Ovo je zgodno u situacijama kada elimo
da napravimo objekte na osnovu razliitih
skupova inicijalnih vrednosti.
Kompajler bira koji konstruktor e koristiti
na osnovu prosleenih argumenata.
xCenter = original.xCenter;
yCenter = original.yCenter;
zCenter = original.zCenter;
++broj;
}
set*() metodi
Metodi koji doputaju menjanje vrednosti
private instancnih promenljivih.
Njihova imena su obino oblika set*().
Nova vrednost atributa se prosleuje kao
argument metodu.
public void setX(double inputX){
x = inputX;
}
Paketi
Paket predstavlja jedinstveno imenovanu
kolekciju klasa.
Imena klasa jednog paketa nee se meati
sa imenima klasa nekog drugog paketa jer
se imena klasa paketa kvalifikuju imenom
tog paketa. Npr. puno ime klase String iz
paketa java.lang je java.lang.String.
Ako bismo definisali svoju klasu sa istim
imenom, String, korienje imena String
odnosilo bi se na tu nau klasu, dok bismo
se standardnoj klasi String morali obraati
sa java.lang.String.
Paketi - nastavak
Kompajliranje paketa
Korienjem JDK pod Windows-om
(komandna linija):
Putanja do direktorijuma paketa mora biti
eksplicitno naznaena kompajleru pomou
vrednosti koja se postavlja za evironment
promenljivu CLASSPATH ak i kada tekui
direktorijum sadri paket.
Najjednostavniji nain za postavljanje
CLASSPATH-a je navoenjem opcije
-classpath pri pozivu kompajlera. Ovaj
nain se i preporuuje!
Pristup paketima
Primer
import geometrija.geometrija3D.*;
ukljuuje sve klase paketa
geometrija.geometrija3D
Sada moemo referisati proizvoljnu public
klasu iz paketa navoenjem samo njenog
imena
Obino je bolje "importovati" samo klase
paketa koje e se koristiti, npr. za klasu
Sfera
import geometrija.geometrija3D.Sfera;
return 4.0/3.0*PI*radius*radius*radius;
Napomena!
Zadaci za vebu