Anfängerfrage
-
//qwertz.java public class qwertz { class Auto { String text; int Baujahr; Auto(String text,int Baujahr){ this.text=text; this.Baujahr=Baujahr;} } public static void main(String[] args) { Auto BMW3=new Auto("BMW",1999); System.out.println("Name : "+BMW3.text); System.out.println("Baujahr : "+BMW3.Baujahr); } }
meine frage wieso muss man vor der Klasse Auto das Wort static hinschreiben damit das überhaupt klappt ?und was bedeutet static in Java
Mfg qwertz
-
auto ist eine innere klasse, ihr konstruktor hängt von einem objekt der klasse qwertz ab
probier mal
qwertz x= new qwertz();
auto v = x.new auto();
ansonsten heißt static dass es sich um ein klassenfeld und nicht um ein objektfeld handelt
-
Schade, daß man diesen C++-Fehler (verwirrende Wortwahl "static") auch in java übernommen hat.
Warum heißt das nicht "classfield" oder "unique" ? - Dann wüßte jeder, was gemeint ist.
-
Da geb' ich dir Recht!
Aber "static" hat sich nun mal auch seit mittlerweile über 10 Jahren eingebürgert.