Pozdrav, evo dacu prvo jedan kod kao primer, u pitanju su glavna i izvedena klasa....
E sad, ovo radi ali nije mi par stvari jasno.
1. Zasto kada u glavnoj klasi definisem varijablu godiste mora da stoji static , inace u klasi Automobili javlja gresku?
2.Isto tako kod metode getGodiste mora da stoji static ako izbacim static javlja gresku . Da li sa static definisemo da data metoda bude vidljiva u celoj klasi tj. metoda cele klase a samim tim i u glavnoj klasi odakle se poziva??? Isto tako je i sa metodom unosGodista...
3. Zasto ako napravim novi objekat klase, nesto tipa Automobili a = new Automobili() u klasi Automobili i pozovem metodu a.unosGodista u main() metodi javlja gresku a kada uradim ovako onda sve funkcionise ...
Code:
public class Automobili extends Vozila{
public static void unosGodista(int g){
godiste=g;
}
public static Integer getGodiste(){
return godiste;
}
}
public class Automobili extends Vozila{
public static void unosGodista(int g){
godiste=g;
}
public static Integer getGodiste(){
return godiste;
}
}
Code:
public class Vozila {
static Integer godiste;
public static void main(String[] args) {
Automobili.unosGodista(2005);
System.out.println("Godiste: " + Automobili.getGodiste());
}
}
public class Vozila {
static Integer godiste;
public static void main(String[] args) {
Automobili.unosGodista(2005);
System.out.println("Godiste: " + Automobili.getGodiste());
}
}
E sad, ovo radi ali nije mi par stvari jasno.
1. Zasto kada u glavnoj klasi definisem varijablu godiste mora da stoji static , inace u klasi Automobili javlja gresku?
2.Isto tako kod metode getGodiste mora da stoji static ako izbacim static javlja gresku . Da li sa static definisemo da data metoda bude vidljiva u celoj klasi tj. metoda cele klase a samim tim i u glavnoj klasi odakle se poziva??? Isto tako je i sa metodom unosGodista...
3. Zasto ako napravim novi objekat klase, nesto tipa Automobili a = new Automobili() u klasi Automobili i pozovem metodu a.unosGodista u main() metodi javlja gresku a kada uradim ovako onda sve funkcionise ...
Code:
public class Vozila {
static Integer godiste;
public static void main(String[] args) {
Automobili a=new Automobili();
a.unosGodiste(2005);
System.out.println("Godiste: " + a.getGodiste());
}
}
public class Vozila {
static Integer godiste;
public static void main(String[] args) {
Automobili a=new Automobili();
a.unosGodiste(2005);
System.out.println("Godiste: " + a.getGodiste());
}
}