Outer class reference is required to initiate inner class. Inner class are of 4 type. Inner classes defined within method are method local inner class. Method local inner class can not access method local variable. Final & Abstract are the only modifiers available to method local inner class. Ananymous inner class don’t have any name. Inner classes having Static modifier are known as Static inner class. Static nested class can not access non static member of outer class.