Maison >Java >javaDidacticiel >Comment puis-je accéder à l'instance de classe externe à partir d'une classe interne en Java ?
Récupération de l'instance de classe externe à partir d'une classe interne
Considérez le code suivant, où l'objectif est d'accéder à l'objet de classe externe à partir d'un instance de classe interne :
public class OuterClass { public class InnerClass { private String name = "Peakit"; } public static void main(String[] args) { OuterClass outer = new OuterClass(); InnerClass inner = outer.new InnerClass(); // Retrieve the outer class instance... OuterClass anotherOuter = ?? ; } }
Accès à l'instance de classe externe depuis l'instance de classe interne Class
Au sein de la classe interne, vous pouvez utiliser l'expression OuterClass.this pour faire référence à l'instance englobante. Cette technique, connue sous le nom de « Qualified This », vous permet d'accéder aux membres de la classe externe depuis la classe interne.
public OuterClass getOuter() { return OuterClass.this; }
Accès à l'instance de classe externe sans modifier la classe interne
Si vous n'avez pas la possibilité de modifier la classe interne, il peut être possible d'accéder à l'instance de classe externe via un accès au niveau du package au champ d'instance englobant, noté this$0.
OuterClass outerRef = inner.this;
Notes supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!