J'ai en fait essayé de pratiquer l'instance englobante
Est-ce que c'est comme ça pour le moment? J'y ai pensé.
public class Outer {
String outerName = "outer";
public static void main(String[]args) {
Outer outer = new Outer();
Inner inner = outer.new Inner();
System.out.println(Outer.outerName);////
}
public class Inner{
}
}
La partie /// était une erreur. Il a été dit que les champs de classe externe non statiques ne peuvent pas être appelés à partir de la méthode principale statique, il a donc été amélioré.
public class Outer {
String outerName = "outer";
public static void main(String[]args) {
Outer outer = new Outer();
Inner inner = outer.new Inner();
inner.outerAccess();
}
public class Inner{
void outerAccess() {
System.out.println(outerName);
}
}
}
Appelez external.name, qui est membre de la classe interne, qui est une classe interne non statique, et une classe externe (Outer), qui n'est pas statique. Ensuite, en créant une instance de la classe Inner incluse dans l'instance de la classe Outer avec la méthode main et en appelant la méthode externalAccess de la classe Inner, l'erreur a disparu (est-ce la méthode externalAccess de l'instance Inner?).
Vous pouvez l'appeler par external.outerName en premier lieu, non? J'ai pensé et essayé
public class Outer {
String outerName = "outer";
public static void main(String[]args) {
Outer outer = new Outer();
Inner inner = outer.new Inner();
inner.outerAccess();
System.out.println(outer.outerName);
}
public class Inner{
void outerAccess() {
System.out.println(outerName);
}
}
}
J'ai pu appeler. J'ai appris qu'il y a plusieurs façons d'appeler
Recommended Posts