Heim  >  Artikel  >  Java  >  Statische verschachtelte Java-Klasse

Statische verschachtelte Java-Klasse

PHPz
PHPzOriginal
2024-08-30 15:58:49818Durchsuche

Statische innere Klassen sind verschachtelte Klassen. Diese Klasse ist als statisches Mitglied unter jeder Klasse vorhanden, die als äußere Klasse fungiert. Es ist nicht erforderlich, ein Klassenobjekt zu erstellen, um Mitgliedsfunktionen und -variablen zu verwenden. Es kann mit Hilfe der äußeren Klasse instanziiert werden. Außerdem besteht die Einschränkung, dass nicht wie statische Variablen auf nicht-statische Mitgliedsfunktionen und Mitgliedsvariablen zugegriffen werden kann.

Syntax:

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Die Syntax der statischen verschachtelten JAVA-Klasse ist unten angegeben. Hier brauchen wir eine äußere Klasse, die als Dachklasse für die innere Klasse fungiert. Die innere Klasse liegt innerhalb der äußeren Klassenschleife. Die innere Klasse hat vor der Klasse ein „statisches“ Schlüsselwort, damit die innere Klasse als statische innere oder verschachtelte statische Klasse erkannt werden kann.

class outerclass
{
static class Innerclass
{
//Member variables
//Member functions
}
}

Wie funktioniert die statische verschachtelte Java-Klasse?

Statisch verschachtelte JAVA-Klassen werden mit dem Schlüsselwort „static“ vor der Klasse zum Zeitpunkt der Klassendefinition deklariert. Das Schlüsselwort static wird auch mit Methoden und Variablen verwendet, um den Gültigkeitsbereich von Variablen und Methoden im gesamten Programm beizubehalten, ohne dass diese überschrieben werden. Die gleiche Funktion kann auf Klassenebene verwendet werden, jedoch mit der Ausnahme, dass es sich um eine innere Klasse handeln muss. Die Funktionsweise einer verschachtelten statischen Klasse lässt sich anhand der im nächsten Abschnitt erläuterten Beispiele gut verstehen.

Obwohl es einige wichtige Punkte in Bezug auf statisch verschachtelte JAVA-Klassen zu beachten gibt:

  1. Das statische Wort kann nicht mit der äußeren Klasse verwendet werden. Das heißt, nur wenn sich eine Klasse in der inneren Klasse befindet, kann das statische Wort vor der Klasse verwendet werden.
  2. Die statische verschachtelte Klasse kann zusammen mit ihren eigenen auf statische Mitgliedsfunktionen und statische Variablen der äußeren Klasse zugreifen. Was den Zugriff auf die äußere Klasse betrifft, kann sie sogar auf die privaten Mitglieder zugreifen, wenn diese als statisch deklariert sind.
  3. Statische Klassen können nur auf statische Variablen und Methoden zugreifen.
  4. Es ist nicht erforderlich, Objekte für statische Klassen zu erstellen. Es erfolgt ein direkter Aufruf von Mitgliedsfunktionen und Variablen, die mit dem Schlüsselwort static zugewiesen werden.

Beispiele zur Implementierung einer statischen verschachtelten Java-Klasse

Einige Beispiele sowie deren Erklärung finden Sie weiter unten, damit Sie sie sich ansehen können.

Beispiel #1

Diese Beispiele demonstrieren die Verwendung und das Verständnis statischer Schlüsselwörter im Datenfluss während der Programmverarbeitung.

Code:

public class Test1
{
static int vnumber=25;
static class Innerclass
{
void printmsg ()
{
System.out.println ("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is "+vnumber);}
}
public static void main(String args[] )
{
Test1.Innerclass object=new Test1.Innerclass();
object.printmsg();
}
}

Ausgabe:

Statische verschachtelte Java-Klasse

Erklärung: Statische Klassen werden nicht direkt instanziiert, daher wird in diesem Beispiel die statische Klasse mit Hilfe der äußeren Klasse instanziiert. Die äußere Klasse „Test1“ wird mit einer statischen Variablen namens „vnumber“ und einer statischen Klasse namens „Innerclass“ definiert.  Die Methode ist unter der inneren Klasse namens „printmsg()“ definiert. Diese Funktion enthält einen String und eine Variable, die in der äußeren Klasse definiert ist.

Wenn ein Programm ausgeführt wird, wird zuerst die Hauptfunktion aufgerufen. Die äußere Klasse wird zusammen mit der inneren Klasse mit einem Punktoperator zur Instanziierung verwendet. Die Instanz mit dem Namen „object“ wird aufgerufen. Das Objekt wird dann verwendet, um die Funktion printmsg() aufzurufen. Die Funktion printms() holt die darin gespeicherte Zeichenfolge und eine Variable mit dem Wert 25, die aus der Deklaration der statischen Variablen der äußeren Klasse stammt. Daher haben wir die Klasseninstanziierungsmethode verwendet, um die Verwendung der statisch verschachtelten Klasse zu demonstrieren. Hierbei ist zu beachten, dass die statische innere Klasse und die statische Variable verwendet werden, die Funktion printmsg() jedoch nicht statisch ist. Aus diesem Grund haben wir im obigen Beispiel instanziiert. Wenn diese Funktion statisch gewesen wäre, hätten wir sie anders verwendet.

Beispiel #2

Code:

public class Test2
{
static int vnumber=30;
static class Innerclass
{
static void printmsg()
{
System.out.println("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is : "+vnumber);}
}
public static void main(String args[])
{
Test2.Innerclass.printmsg();
}
}

Ausgabe:

Statische verschachtelte Java-Klasse

Erklärung: Hier demonstrieren wir ein Beispiel einer statisch verschachtelten Funktion, bei der die Variable, die Klasse und die Methode alle statisch definiert sind. Dies geschieht, um den Methodenaufruf direkt zu demonstrieren, anstatt ein Objekt aufzurufen, um eine Methode aufzurufen. Da überall dort, wo das Schlüsselwort „static“ verwendet wird, keine Notwendigkeit besteht, ein Objekt zu erstellen. Man kann es direkt verwenden. Hier wird also eine äußere Klasse namens „test2“ mit einer statischen Variablen namens „vnumber“ und einer inneren Klasse namens „innerclass“ erstellt. Innerclass wird mit einem statischen Schlüsselwort angehängt, um die Verwendung der statischen verschachtelten Klasse zu demonstrieren. Die innere Klasse verfügt über eine statische Memberfunktion mit ihrem String und einer Variablen.

Die Hauptfunktion wird aufgerufen, während das Programm ausgeführt wird. Äußere Klasse, innere Klasse und eine Methode werden direkt über einen Punktoperator aufgerufen. Hier haben wir kein Objekt wie im vorherigen Beispiel erstellt, da die Methode selbst als statisch deklariert ist.

Fazit

Statisch verschachtelte Klassen können nützlich sein, wenn wir die Verwendung von Mitgliedsfunktionen einer äußeren Funktion in einer inneren Klasse einschränken möchten. Dies ist möglich, da eine innere statische Klasse nur auf die statischen Mitglieder der äußeren Klasse zugreifen kann, während für andere nicht statische Mitglieder der äußeren Klasse weiterhin ein Objekt erstellt werden muss, wenn die innere Klasse sie verwenden möchte. Dies wird verwendet, wenn der Programmierer nach einer gewissen Sicherheit sucht, die er in seinen Code übernehmen kann. Das Schlüsselwort static stellt sicher, dass Daten nicht leicht manipuliert werden können. Dies fördert die Datensicherheit und Zuverlässigkeit der Anwendung.

Das obige ist der detaillierte Inhalt vonStatische verschachtelte Java-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Authentifizierung JavaNächster Artikel:Authentifizierung Java