Ahoj, dneska som sa dostal po dlhom čase zase k Jave, a zaskočil ma celkom banálny problém. Dúfam že mi opäť raz poradíte
Mám definované 2 triedy. bicykle.Bicykle, ktorá je v podstate hlavná, a bicykle.Bicykel podľa ktorej vytváram objekty.
Veď pozrite :
Bicykle
Kód: Vybrať všetko
package bicykle;
public class Bicykel {
private int rychlost;
private int prevod;
private int id;
private static int pocetBicyklov=0;
public static int zistiPocetBicyklov () {
return pocetBicyklov;
}
public Bicykel(int rychlost, int prevod) {
this.rychlost=rychlost;
this.prevod=prevod;
this.id=++pocetBicyklov;
}
public Bicykel() {
this(0,0);
}
public void setRychlost (int novaRychlost) {
rychlost=novaRychlost;
return;
}
public int getRychlost () {
return rychlost;
}
public void setPrevod (int novyPrevod) {
prevod=novyPrevod;
return;
}
public int getPrevod () {
return prevod;
}
public int getId () {
return id;
}
}
Bicykel
Kód: Vybrať všetko
package bicykle;
public class Bicykle {
public static void main(String[] args) {
Bicykel bike;
for(int i=1; i<=10; i++) {
bike=new Bicykel();
}
System.out.println("Celkovy pocet bicyklov : "+Bicykel.zistiPocetBicyklov());
System.out.println("Id : "+bike.getId());
System.out.println("Rychlost : "+bike.getRychlost());
System.out.println("Prevod : "+bike.getPrevod());
}
}
Chyba je celkom epic, a to že na riadku
mi vyhadzuje chybu, že premenná
bike možno nebola inicializovaná.. Tá inicializácia predsa ale prebieha v tom cykle nie ? Ak som ju inicializoval ešte pred samotným cyklom, program zbehne, a premenná pocetBicyklov vráti hodnotu 11, takže to funguje správne..
Otázka ale je, prečo tá chyba ? Tvári sa to akoby zahodil pointer na tú inštanciu, alebo neviem..