In Java, statisch ist ein Schlüsselwort, das mit Variablen, Klassen, Blöcken und Methoden verwendet werden kann. Wenn wir das Schlüsselwort static vor einem von ihnen verwenden, bedeutet dies, dass das angegebene Mitglied zu einem Typ selbst gehört. Mit anderen Worten: Es wird eine Instanz eines statischen Mitglieds erstellt und von allen Instanzen der Klasse gemeinsam genutzt.
Attributfehler Python
In diesem Abschnitt verwenden wir statisch Schlüsselwort mit dem Java-Klasse und auch verstehen Warum verwenden wir eine statische Klasse?
Statische Java-Klasse
Mit dem Schlüsselwort static können wir eine Klasse als statisch deklarieren. Eine Klasse kann nur dann als statisch deklariert werden, wenn es sich um eine handelt verschachtelte Klasse . Es ist kein Verweis auf die äußere Klasse erforderlich. Die Eigenschaft der statischen Klasse besteht darin, dass sie uns keinen Zugriff auf die nicht statischen Mitglieder der äußeren Klasse ermöglicht.
Um das Konzept der statischen Klasse zu verstehen, müssen wir zunächst das Konzept von verstehen innerer äußerer, Und verschachtelt Klasse.
Innere Klasse
Die Klassen, die nicht statisch und verschachtelt sind, werden aufgerufen innere Klassen . Beachten Sie, dass wir keine Instanz der inneren Klasse erstellen können, ohne eine Instanz der äußeren Klasse zu erstellen. Ohne den Verweis auf die Instanz der äußeren Klasse zu verwenden, kann eine Instanz der inneren Klasse auf die Mitglieder ihrer äußeren Klasse zugreifen. Es macht das Programm einfach und prägnant.
Ganzzahl zum String in Java
Äußere Klasse
Die Klasse, in der die verschachtelte Klasse definiert ist, wird aufgerufen äußere Klasse .
Verschachtelte Klasse
Java ermöglicht es uns, eine Klasse innerhalb einer Klasse zu definieren, die als a bekannt ist verschachtelte Klasse . Es kann statisch oder nicht statisch sein. Der Hauptunterschied zwischen statischen und nicht statischen Klassen besteht darin:
- Eine Instanz der statisch verschachtelten Klasse kann erstellt werden, ohne eine Instanz ihrer äußeren Klasse zu erstellen.
- Auf die statischen und nichtstatischen Mitglieder einer äußeren Klasse kann von einer inneren Klasse zugegriffen werden.
- Auf die statischen Mitglieder der äußeren Klasse kann nur die statische Klasse zugreifen.
Erinnern
- Alle statischen Klassen sind verschachtelte Klassen, aber umgekehrt gilt das nicht.
- Es kann nur auf statische Mitglieder der äußeren Klasse zugreifen.
- Auf nicht statische Variablen- und Instanzmethoden kann innerhalb der statischen Klasse nicht zugegriffen werden. Wenn Sie versuchen, über ein statisches Feld auf eine nicht statische Referenz zuzugreifen, wird ein Fehler ausgegeben: Es kann kein statischer Verweis auf das nicht statische Feld erstellt werden.
- Wir können statische Blöcke, Variablen und Methoden innerhalb einer statischen Klasse erstellen.
- Eine Klasse kann mehrere statische Klassen haben.
- Wir können nicht auf die statische Klasse zugreifen, wenn sie sich innerhalb des statischen Blocks befindet.
- Innerhalb einer statischen Klasse kann es beliebig viele statische Klassen geben.
Beispiel für eine statische Java-Klasse
JavaStaticClassExample.java
public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } }
Ausgabe:
Java-Datenbank jdbc
Javatpoint
Warum verwenden wir eine statische Klasse in Java?
In Java wird das Schlüsselwort static hauptsächlich zur Speicherverwaltung verwendet. Wir können das Schlüsselwort static mit Variablen, Methoden, Blöcken und Klassen verwenden. Die Verwendung der statischen Klasse ist eine Möglichkeit, Klassen zu gruppieren. Es wird auch verwendet, um über die Objektreferenz auf das primitive Mitglied der umschließenden Klasse zuzugreifen. Die statischen Klassen werden vom Klassenlader zum Zeitpunkt der ersten Verwendung geladen, jedoch nicht, wenn die umschließende Klasse geladen wird.