Heim >Java >javaLernprogramm >Innere Klasse in Java
Eine innere Klasse in einem Java-Programm ist nichts anderes als die Klasse, die in einer bereits funktionierenden Klasse deklariert und verwendet wird, um alle Funktionen und den Zugriff der Mitglieder auf die äußere Klasse zu nutzen. Dies wird normalerweise verwendet, wenn das Codierungsmuster des Programms besser organisiert werden muss und gleichzeitig die Länge des Codes reduziert werden muss. Es gibt drei Arten von inneren Klassen: innere Mitgliedsklassen, anonyme innere Klassen und lokale innere Klassen. Die Hauptvorteile der Verwendung der inneren Klasse in einem Java-Programmausschnitt sind, dass die innere Klasse eine bessere Optimierung und Organisation des Codes ermöglicht, die Lesbarkeit erhöht und der Wartungsaufwand für diese Art von Klasse recht gering ist.
Innere Klassen in Java sind im Grunde die Klassen, die nicht statisch sind und innerhalb einer anderen Klasse deklariert werden. Die innere Klasse ist also ein Mitglied der äußeren Klasse. In Java gibt es drei Arten innerer Klassen:
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Bitte beachten Sie, dass die innere Klasse eine Art verschachtelter Klasse ist, die nicht statisch ist. Lassen Sie uns nacheinander verschiedene Arten innerer Klassen in Java besprechen.
In diesem Fall müssen Sie lediglich eine Klasse innerhalb ihrer äußeren Klasse deklarieren. Die Klasse darf sich jedoch nicht innerhalb der Methode der äußeren Klasse befinden. Es muss außerhalb der Methode der äußeren Klasse definiert werden. Die innere Klasse muss ein nicht statischer Typ sein. Ein Objekt eines inneren Klassentyps kann auf die Variable der äußeren Klasse zugreifen.
In diesem Fall ist es auch nur erforderlich, eine Klasse innerhalb ihrer äußeren Klasse zu deklarieren. Die Klasse muss sich jedoch innerhalb der Methode der äußeren Klasse befinden. Es muss innerhalb der Methode der äußeren Klasse definiert werden. Die innere Klasse muss ein nicht statischer Typ sein. Das Objekt des inneren Klassentyps kann auf die Variable der äußeren Klasse zugreifen. Da diese Klasse innerhalb einer Methode der äußeren Klasse deklariert wird, ist ihr Zugriff ebenfalls eingeschränkt, ähnlich wie bei lokalen Variablen. Wenn Sie die Funktion der inneren Klasse aufrufen möchten, müssen Sie diese innerhalb der Funktion instanziieren.
Zu beachtende Punkte für die lokale innere Klasse:
Anonym ist, wie der Name schon sagt, ein Anruf ohne Namen. Aber wie ist das möglich? Tatsächlich handelt es sich um eine Art innere Klasse, in der wir gleichzeitig Deklaration und Instanziierung (Mittel, Objekterstellung) durchführen. Wann immer Sie eine Methode einer Klasse überschreiben möchten, müssen Sie möglicherweise eine anonyme innere Klasse verwenden. Da eine anonyme innere Klasse keinen Namen hat, können wir keinen anonymen inneren Klassenkonstruktor erstellen. Beachten Sie außerdem, dass Sie nur zum Zeitpunkt ihrer Definition auf anonyme innere Klassen zugreifen können.
Anonyme innere Klassen können auf zwei Arten erstellt werden.
Im Folgenden besprechen wir einige Codebeispiele der Java Inner Class:
In diesem Beispiel zeigen wir ein Beispiel für die innere Klasse eines Mitglieds. In diesem einfachen Beispiel deklarieren wir eine Klasse innerhalb einer äußeren Klasse. Innerhalb von „OuterClass“ haben wir ein privates Datenelement namens „num1“ und eine innere Klasse „InnerClass“. Wir können über ein Objekt vom Typ „InnerClass“ auf die private Variable „num1“ äußerer Aufrufe innerhalb der inneren Klasse zugreifen. Auf diese Weise nutzen wir die Verwendung der inneren Klasse, bei der über eine Methode der inneren Klasse auf ein privates Mitglied äußerer Aufrufe zugegriffen werden kann.
Code:
class OuterClass{ private int num1=36; class InnerClass{ void shw(){ System.out.println("Member Inner Class"); } } } public class DemoOfMemberInnerClass{ public static void main(String args[]){ OuterClass oc=new OuterClass(); OuterClass.InnerClass ic=oc.new InnerClass(); ic.shw(); } }
Ausgabe:
In diesem Beispiel demonstrieren wir ein Beispiel der lokalen inneren Klasse. Hier besteht unser Hauptziel darin, die Funktionalität einer Methode der äußeren Klasse zu überschreiben. Wie der Name schon sagt, ist der Klassenname explizit nicht bekannt und wird daher als anonyme innere Klasse bezeichnet. Hier erfolgen sowohl die Deklaration als auch die Instanziierung der inneren Klasse zu einem bestimmten Zeitpunkt, weshalb sie als anonyme innere Klasse bezeichnet wird.
Code:
abstract class Cat{ abstract void drink(); } public class AnonymousInnerClassDemo{ public static void main(String args[]){ Cat ct=new Cat(){ //anonymous inner class void drink(){ System.out.println("kitty loves milk"); } }; ct.drink(); } }
Ausgabe:
In this example, we will demonstrate an example of a method local inner class. In this simple example where we declare a class inside the method “display()” of the outer class “OuterClassDemo”. After that, we can access the method by an object of the outer class.
Code:
public class OuterClassDemo{ private int num1=36;//instance variable void display(){ class LocalInnerClass{ // local inner class inside the method of outer class void shw(){ System.out.println(num1); } } LocalInnerClass li=new LocalInnerClass(); li.shw(); } public static void main(String args[]){ OuterClassDemo obj=new OuterClassDemo(); obj.display(); } }
Output:
Here are some of the advantages of the java inner class, which are explained below:
This concludes our learning of the topic “Inner Class in Java”. An inner class is a very interesting feature in java where you can use a member of the outer class by the object of its inner class. Write yourself the codes mentioned in the above examples in the java compiler and verify the output. Learning of codes will be incomplete if you will not write code by yourself.
Das obige ist der detaillierte Inhalt vonInnere Klasse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!