Können Klassen in Java statisch sein? Die Antwort lautet ja. In Java können wir statische Instanzvariablen, statische Methoden und statische Blöcke haben. Klassen können auch statisch sein.
Mit Java können wir statische Klassen in einer Klasse definieren. Zum Beispiel verschachtelte Klasse. Die Klasse, die verschachtelte Klasse eingeschlossen wird, wird als externe Klasse bezeichnet. In Java können wir die oberste Ebene nicht mit statischer Ebene ändern. Nur innere Klassen können statisch sein.
Was ist der Unterschied zwischen statischen inneren Klassen und nicht statischen inneren Klassen? Hier sind die Hauptunterschiede zwischen den beiden.
(1) Die interne statische Klasse muss keinen Verweis auf die externe Klasse haben. Nichtstatische innere Klassen müssen jedoch Hinweise auf externe Klassen halten.
(2) Nichtstatische innere Klassen können auf statische und nicht statische Mitglieder externer Klassen zugreifen. Eine statische Klasse kann nicht auf nicht statische Mitglieder einer externen Klasse zugreifen. Es kann nur auf statische Mitglieder externer Klassen zugreifen.
(3) Eine nicht statische innere Klasse kann nicht ohne die externe Klasseneinheit erstellt werden, und eine nicht statische innere Klasse kann auf die Daten und Methoden der externen Klasse zugreifen, da sie sich in der externen Klasse befindet.
Basierend auf der obigen Diskussion können wir durch diese Funktionen das Programmieren einfacher und effektiver machen.
/* Das folgende Programm zeigt, wie man statische innere Klassen und nicht statische innere Klassen in Java erstellt*/Class OuterClass {private statische String msg = "Geeksforgeks"; kann nur auf ein statisches Mitglied der externen Klasse für öffentliche void printmessage () {// versuchen, msg in nicht statisch zu wechseln, was das Kompilierungsfehlersystem verursacht ; }}} class main {// So erstellen Sie Instanzen statischer innerer Klassen und nicht statischen inneren Klassen öffentlich statische void main (String args []) {// Instanzen statischer innerer Klassen OuterClass.NestedStaticClass Drucker = New O UterClass. NestedStaticClass (); ; .ErnnerClass InnerObject = new outerClass (). Neue Innercla ss ();Der obige Inhalt ist die relevante Informationen über den Herausgeber, der Ihnen eine statische Klasse in Java vorstellt.