I've been learning Java and OOP for a few weeks now.
Yesterday I learned inner class and outer class. I want to know the way to access field of outerClass from InnerClass when they have exactly same name.
Like below, It is possible to access field of outerClass from innerClass when they have different names.
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);
}
}
}
When they have same name, I don't know how to access both names.
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);
}
}
}