Nicht statische Klassen

Bitte aktiviere JavaScript!
Hallo zusammen.
Ich habe gerade überhaupt keine Ahnung, wie ich in der main() Methode die Methode
print_b() aufrufen kann, die sich in einer nicht statischen Klasse B befindet.
Könnte mir bitte jemand einen Hinweis geben, wie dieser Befehl aussehen muss? Danke



Code:
class Test{

    static class A {
   
        static void print_a(){
            System.out.println("Klasse A!");
        }

    }

    class B{

        void print_b(){
            System.out.println("Klasse B!");
        }

    }

    public static void main(String[] args){
       
        Test.A.print_a();

    }
}

[\code]
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Indem du von B eine Instanz erzeugst und über diese Instanz die Methode aufrufst. Um es dir einfacher zu machen, sollte B aber eine öffentliche Klasse in einer eigenen Java-Datei sein!
 
Eine Instanz von B kannst du nur über eine Instanz von Test erstellen, da B eben nicht statisch ist.
Du brauchst also erst eine Instanz von Test, mit dieser eine Instanz von B und kannst dann print_b aufrufen.
 
Du erstellst eine Instanz von Test und rufst dann auf der Test-Instanz den Konstruktor von B auf:

Java:
Test test = new Test();
B b = test.new B();
 
Die Syntax mit inneren Klassen kann etwas gewöhnungsbedürftig sein, wenn man inneren Klassen aber sinnvoll nutzt, kommt man damit nicht in Berührung.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben