Anonymer Objekt: Ein Objekt ohne Namen.
Nicht anonymer Objekt:
ClassName c = neuer className ();
c.run ();
Anonymer Objekt:
New ClassName (). Run ();
Anmerkungen:
1. Wenn das Objekt die Methode nur einmal aufruft, kann es zu einem anonymen Objekt vereinfacht werden.
2. Zwei anonyme Objekte können nicht dasselbe Objekt sein.
3. Im Allgemeinen werden Attributwerte nicht anonymen Objekten zugeordnet, da sie niemals erhalten werden können.
4. Nach dem Lauf wird es direkt recycelt und speichern Speicherplatz.
Beispiel des Code, der von anonymen Objekten verwendet wird:
öffentliche Klasse Anony {int a = 1; int b = 2; void run () {System.out.println (a+b);} public static void main (String [] args) {new anony (). a = 10; // anonymer Objekt kann nicht neu zugewiesen werden, und die Zuordnung fällt immer noch an anony a = new anony (); A.run (); // Erstellen Sie das Objekt anonym und rufen Sie die Methode}} aufAuslaufergebnisse:
3
3
Anonyme innere Klasse: Anonyme innere Klasse ist eine innere Klasse ohne Namen.
Format:
ClassName Object = new className () {
/*Code Block*/
};
Anmerkungen:
1. Anonyme interne Klassen müssen eine übergeordnete Klasse erben oder eine Schnittstelle implementieren.
Beispiel für abstrakte Klassencode: (Gleich wie Schnittstelle)
Abstract Class AnonyTest {int a = 1; int b = 2; public abstract void run ();} öffentliche Klasse AnonyInner {public static void main (String [] args) {anonytest a = new anonytest () {// Abstract Anonymous class public void run () {System.out.println (a+b);}}};Wenn Sie keine anonymen inneren Klassen verwenden, um abstrakte Methoden zu implementieren:
Abstract Class AnonyTest {int a = 1; int b = 2; public abstract void run ();} Klasse AnonyDemo erweitert AnonyTest {public void run () {System.out.println (a+b);}} öffentliche Klasse AnonyInner {public static void main (String [] args) {Anonytest a = new AnonyDemo (); // das Objekt aufdrehen a.run ();}}Auslaufergebnisse:
3