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