Inner classes in Java have member inner classes, static inner classes, local inner classes, and anonymous inner classes.
Public classOuterclass {Private inti = 1; Private Static intj = 2; //member Inner class classInnerClass1 { Public voidprint () {System.out.println ("InnerClass1 Print:" +i); } } //static inner class Static classInnerClass2 { Public voidprint () {System.out.println ("InnerClass2 Print:" +j); } } Public Static voidMain (string[] args) {Outerclass.innerclass1 inner1=NewOuterclass ().NewInnerClass1 (); Inner1.print (); Outerclass.innerclass2 Inner2=NewOuterclass.innerclass2 (); Inner2.print (); //local inner class classINNERCLASS3 { Public voidprint () {System.out.println ("INNERCLASS3 Print:" +j); }} INNERCLASS3 Inner3=NewINNERCLASS3 (); Inner3.print (); //Anonymous Inner class NewThread (NewRunnable () {@Override Public voidrun () {System.out.println ("INNERCLASS4 Print:" +j); }}). Start (); }}
Java Internal classes