What are called inner classes are as follows:
Inner class
Static nested class
Local inner class
Anonymous class
Inner class
An instance of an outer class can reach its inner class.
<Sample>
public class Test {
public static void main(String[] args) {
Outer.Inner1 inner = new Outer().new Inner1();
inner.func();
Outer outer = new Outer();
outer.func();
}
}
class Outer {
class Inner1 {
void func(){
System.out.println("Inner class 1");
}
}
class Inner2 {
void func(){
System.out.println("Inner class 2");
}
}
void func() {
new Inner2().func();
}
}
<Result>
Inner class 1
Inner class 2