


Detaillierte Erklärung und Beispiele für interne Java-Klassen (anonyme Klassen, anonyme Objekte, statische interne Klassen)
Einführung in innere Klassen
Eine in einer anderen Klasse definierte Klasse wird als innere Klasse bezeichnet
Member-Innenklasse
1..neu Sie müssen zuerst ein inneres Mitglied erstellen Klasse Erstellen Sie eine Instanz der äußeren Klasse und erstellen Sie dann über .new ein Objekt der inneren Klasse.
2..this Sie können über den Klassennamen auf alle Eigenschaften und Methoden der äußeren Klasse zugreifen die äußere Klasse.dies.
public class Test1 { String name = "asnd"; public static void main(String[] args) { Test1 test1 = new Test1(); Inner mInner = test1.new Inner(); mInner.print(); } void show() { System.out.println("show"); } public class Inner { String name = "123"; private void print(){ show(); System.out.println(name);//打印的是123 System.out.println(Test1.this.name);//打印的是asnd } } }
Anonyme innere Klasse
Eine Klasse ohne Namen. Wenn die Klasse erstellt wird, wird auch ein Objekt erstellt.
Für Klassen, die nur einmal verwendet werden müssen, können Sie anonyme innere Klassen verwenden
File file = new File("D:/cc.txt") { @Override public boolean delete() { System.out.println("是否删除y/n"); Scanner input = new Scanner(System.in); String str = input.next(); if (str.equals("y")) { return super.delete(); } System.out.println("删除失败"); return false; } }; file.delete(); }
Anonyme Objekte
Auf dieses Objekt muss nur einmal zugegriffen werden .
new Thread() { @Override public void run() { System.out.println("线程开始!"); try { Thread.sleep(2000); System.out.println("线程结束!"); } catch (Exception e) { e.printStackTrace(); } super.run(); } }.start();
Statische innere Klasse
1. Statische innere Klassen können nur auf statische Methoden und Variablen der äußeren Klasse zugreifen, nicht jedoch auf nicht statische.
2. Statische innere Klassen können direkt erstellt werden, ohne einen Verweis auf die äußere Klasse zu erstellen.
Anonyme innere Klassen greifen auf lokale Variablen zu
Innere Klassen müssen beim Zugriff auf lokale Variablen endgültig sein. Wenn nicht, fügt jdk1.8 sie standardmäßig hinzu.
Wenn sich die verwendeten Variablen ändern Sie können die folgende Methode verwenden oder das folgende i zu Beginn als statisch festlegen
for (int i = 0; i < 5; i++) { final int finali = i; new Thread() { public void run() { System.out.println(finali); }; }.start(); }
Im Folgenden werden die Implementierungstechniken interner Klassen vorgestellt
public static void main(String[] args) { Lam mLam = new Lam(); //第一种实现的方法 mLam.to(new Ligh() { @Override public void shin() { System.out.println("on的第一种方法"); } }); //第二种实现方法 class MyLam implements Ligh{ @Override public void shin() { System.out.println("第二种"); }} mLam.to(new MyLam()); } } interface Ligh { void shin(); } class Lam { public void to(Ligh ligh) { ligh.shin(); System.out.println("on"); } }
Vielen Dank fürs Lesen. Ich hoffe, es kann allen helfen. Vielen Dank für Ihre Unterstützung dieser Website!
Ausführlichere Erklärungen und Beispiele für interne Java-Klassen (anonyme Klassen, anonyme Objekte, statische interne Klassen) und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...

Analyse des Gedächtnis -Leck -Phänomens von Java -Programmen zu verschiedenen Architektur -CPUs. In diesem Artikel wird ein Fall erläutert, in dem ein Java -Programm unterschiedliche Gedächtnisverhalten auf ARM- und X86 -Architektur -CPUs aufweist ...

Wie konvertieren Sie Namen in Zahlen, um Sortieren innerhalb von Gruppen zu implementieren? Bei der Sortierung von Benutzern in Gruppen ist es häufig erforderlich, den Namen des Benutzers in Zahlen umzuwandeln, damit er anders sein kann ...
