Command window output
C:\ece538\JavaFX\JavaPP\ch15\ex1>java ShowInnerClass outer data 0 inner data 1
Two class files are produced, one for the outer class and one for the inner class:
02/11/2018 03:03 PM 741 ShowInnerClass$InnerClass.class 02/11/2018 03:03 PM 1,081 ShowInnerClass.class
ShowInnerClass.java// ShowInnerClass.java: Demonstrate using inner classes
public class ShowInnerClass {
private int data;
public String toString() {
return "outer data " + data;
}
/** A method in the outer class */
public void m() {
// Do something
System.out.println(this);
InnerClass instance = new InnerClass();
instance.mi();
System.out.println(instance);
}
// An inner class
class InnerClass {
/** A method in the inner class */
public void mi() {
// Directly reference data and method defined in its outer class
data++;
}
public String toString() {
return "inner data " + data;
}
}
public static void main(String [] args) {
ShowInnerClass v = new ShowInnerClass();
v.m();
}
}
Maintained by John Loomis, updated Sun Feb 11 15:04:40 2018