【发布时间】:2021-03-13 10:42:45
【问题描述】:
我已经学习 Java 和 OOP 几个星期了。
昨天我学习了内部类和外部类。我想知道当它们具有完全相同的名称时,如何从 InnerClass 访问 outerClass 的字段。
如下所示,当外部类的名称不同时,可以从内部类访问外部类的字段。
public class OuterClass {
public String OuterName;
public OuterClass(String OuterName) {
this.OuterName = OuterName;
}
public class InstanceInnerClass {
public String InnerName;
public InstanceInnerClass(String InnerName) {
this.InnerName = InnerName;
}
// In this method, accessing field in outer and inner class is possible.
// when they have different name.
public void printAllName() {
System.out.printf("OuterName: %s, InnerName: %s\n", OuterName, InnerName);
}
}
}
当他们有相同的名字时,我不知道如何访问这两个名字。
public class OuterClass {
public String name; // field which has same name
public OuterClass(String name) {
this.name = name;
}
public class InstanceInnerClass {
public String name; // field which has same name
public InstanceInnerClass(String name) {
this.name = name;
}
public void printAllName() {
// What should be written in this code
// to print both name fields from OuterClass and InnerClass
System.out.printf("OuterName: %s, InnerName: %s\n", name, name);
}
}
}
【问题讨论】:
标签: java class inner-classes anonymous-class