Java-Beginner



  • Fragen habe ich im Text kommentiert.
    Meine Fragen sind C++ belastet.
    Ich bin im Moment auf der Suche nach Unterschieden und Gemeinsamkeiten zw. C++ und Java.

    class Foo
    {
        private static int streetno = 169;     //Warum kann ich streetno direkt im classbody initialisieren?
    
        private static class Bar
        {
            static int func()
            {
                return 42;
            }
        }
        public static void main(String[] args)
        {
            Bar.func();    // Warum kann ich Bar einfach benutzen?? Ich habe doch gar keine Instanz angelegt, sondern nur die Klasse definiert.
        }
    }
    


  • Hi

    weil das Wort staic davor steht und somit eine KlassenElement bzw ein KlassenMethode ist.

    gruss Termite



  • Raptor schrieb:

    class Foo
    {
        private static int streetno = 169;     //Warum kann ich streetno direkt im classbody initialisieren?
    
    //Warum nicht?
        
        private static class Bar
        {
            static int func()
            {
                return 42;
            }
        }
        public static void main(String[] args)
        {
            Bar.func();    // Warum kann ich Bar einfach benutzen?? Ich habe doch gar keine Instanz angelegt, sondern nur die Klasse definiert.
    
    //Weil Bar statisch ist.
        }
    }
    

    Du bist zu sehr auf C++ versteift. 😉 Andere Sprachen andere Mittel, auch wenn das meiste immer gleich ist.

    Schau Dir zum Beispiel noch andere oo Sprachen an, dann wirst Du merken das viele den "Java-Weg" gehen.


Anmelden zum Antworten