https://qiita.com/hp_kj/items/dd533d98f9d065bd0301 Quand j'ai cherché ceci, le mot "instance englobante" est apparu, alors j'ai cherché.
Selon Java A2Z Une "instance de classe externe" pour la classe interne. L'instance de classe interne est une instance spéciale qui est "contenue dans l'instance de classe externe". Par conséquent, pour créer une instance de la classe interne, une instance de la classe externe est toujours requise. L '"instance de classe externe" est l' "instance englobante". Une instance d'une classe interne qui est «fermée» ou «fermée».
Tout d'abord, cela semble être la conclusion. Et Sens
à propos de ça. S'appliquant au code précédent,
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);
}
}
}
}
Je crée une instance de classe externe 1 (externe) en 1-1. Ensuite, en 2-1, nous créons une instance de la classe interne 2 (Inner) qui est incluse dans l'instance de la classe externe.
Recommended Posts