Professional Documents
Culture Documents
STATIC ATRIBUT
Svaka klasa moe imati atribut koji je zajedniki za sve instance te klase.
Definie se kljunom rei static
Promena tog atributa u bilo kojoj instanci klase menja taj atribut svim njenim instancama
Vrednost atributa se dohvata preko imena klase a i preko njene instance
Sa static atributom se moe raditi samo u okviru static metoda
ZADATAK 1 : Definisati klasu Krug da ima:
Privatna Polja: x, y (koordinate centra kruga) : integer
Privatno polje r (poluprenik kruga) : integer
NAPOMENA: u okviru oba konstruktora podesiti polje broj tako da predstavlja broj kreiranih
instanci klase Krug u glavnom delu programa.
Krug.broj = 5;
a.broj = 5;
REENJE:
public class Krug {
private int x,y,r;
public static int broj;
public Krug(){
x = y = r = 1;
//uvecavanje static atributa
++broj;
}
public Krug(int x, int y, int r){
this.x = x;
this.y = y;
this.r = r;
// 0
// 1
a = new Krug();
a.setX(1);
a.setY(2);
a.setR(3);
System.out.println("static broj = " + Krug.broj);
// 2
System.out.println(a);
//Povrsina kruga parametara X = 1, Y = 2, R = 3 je: 28.274333882308138
System.out.println(b);
//Povrsina kruga parametara X = 3, Y = 5, R = 7 je: 153.93804002589985
Krug.broj = 5;
a.broj = 5;
p
r
o
i
z
=
=
=
=
=
new
new
new
new
new
Proizvod
Proizvod
Proizvod
Proizvod
Proizvod
REENJE 2:
package rs1;
public class Proizvod {
private String naziv;
private int kolicina, cena;
public Proizvod(String naziv, int kolicina, int cena) {
super();
this.naziv = naziv;
this.kolicina = kolicina;
this.cena = cena;
}
public Proizvod() {
super();
}
public int ukupnaVrednost(){
return cena*kolicina;
}
@Override
public String toString() {
return naziv+"\t"+kolicina+"\t"+cena+"\t="+ukupnaVrednost();
}
}
package rs1;
public class Glavna {
public static int ukupno(Proizvod[] a){
int s=0;
for (Proizvod proizvod : a) {
if(proizvod!=null)
// provera da li postoji proizvod
s+= proizvod.ukupnaVrednost();
}
return s;
}
public static double srvr(Proizvod[] a){
int s=0, br=0;
ZAKLJUAK:
Niz je kreiran u glavnom programu.
Globalne metode su kreirane u glavnoj klasi.
Globalne metode nisu vezane za instancu klase Proizvod, ali imaju niz proizvoda kao parametar
metode.
Ukoliko svi elementi niza nisu inicijalizovani onda je u metodama potrebno proveravati da li su
razliciti od null.
int br = 0;
main(String[] args) {
new Proizvod ("Jafa", 50, 85);
new Proizvod ("Plazma", 40, 80);
new Proizvod ("Euro Krem", 10, 500);
new Proizvod ("Negro", 20, 50);
new Proizvod ("Smoki", 50, 25);
ZAKLJUAK:
Klasa Prodavnica ima niz proizvoda kao parameter.
Metode su definisane unutar klase Prodavnica.
Poto se nalaze unutar iste klase metode nemaju niz proizvoda kao pamarametar funkcije, jer im
je niz dostupan za rad.