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.


Anmelden zum Antworten