https://qiita.com/hp_kj/items/dd533d98f9d065bd0301 Als ich danach suchte, tauchte das Wort "umschließende Instanz" auf, also habe ich es nachgeschlagen.
Laut Java A2Z Eine "äußere Klasseninstanz" für die innere Klasse. Die innere Klasseninstanz ist eine spezielle Instanz, die "in der äußeren Klasseninstanz enthalten" ist. Um eine Instanz der inneren Klasse zu erstellen, ist daher immer eine Instanz der äußeren Klasse erforderlich. Die "äußere Klasseninstanz" ist die "einschließende Instanz". Eine Instanz einer inneren Klasse, die "eingeschlossen" oder "eingeschlossen" ist.
Zunächst scheint dies die Schlussfolgerung zu sein. Und Als Bedeutung
darüber. Auf den vorherigen Code anwenden,
public class Main {
public static void main(String []args) {
Outer o = new Outer();///1-1
Outer.Inner oi = o.new Inner();///2-1
oi.innerPrint();
}
public static class Outer{///1
int outerhp = 10;
public class Inner{///2
public void innerPrint() {
System.out.println(Outer.this.outerhp);
}
}
}
}
Ich erstelle eine Instanz der äußeren Klasse 1 (Außen) in 1-1. Dann erstellen wir in 2-1 eine Instanz der inneren Klasse 2 (Inner), die in der Instanz der äußeren Klasse enthalten ist.
Recommended Posts