Inner classes in Java
When a non-static class is nested inside a class, it is called as inner class.
Inner class can only be accessed using any object of outer class.
General Syntax
class Outer_class{
class Inner_class {
//statements
}
}
To access the members of inner class,
- Create object for outer class
- Use this object to create object for inner class.
- Use inner class object to access members of the inner class.
Example
class State{
class City{
void inside(){
System.out.println("Inside city");
}
}
public static void main(String args[]){
State st=new State();
State2.City ct=st.new City();
ct.inside();
}
}
Output
Inside city
We have special kinds of inner classes - local inner class and anonymous inner class which will be discussed in next topics.