Understanding Java Access Modifiers
Outer Class | Inner Class | Methods | Variables | Blocks | Outer Interface | Inner Interface | Outer Enum | Inner Enum | Constructor | |
Public | Y | Y | Y | Y | - | Y | Y | Y | Y | Y |
Private | - | Y | Y | Y | - | - | Y | - | Y | Y |
Protected | - | Y | Y | Y | - | - | Y | - | Y | Y |
Default | Y | Y | Y | Y | - | Y | Y | Y | Y | Y |
Final | Y | Y | Y | Y | - | - | - | - | - | - |
Abstract | Y | Y | Y | - | - | Y | Y | - | - | - |
Static | - | Y | Y | Y | Y | - | Y | - | Y | - |
Synchronized | - | - | Y | - | Y | - | - | - | - | - |
Native | - | - | Y | - | - | - | - | - | - | - |
Strictfp | Y | Y | - | - | - | Y | - | Y | Y | - |
Transient | - | - | - | Y | - | - | - | - | - | - |
Volatile | - | - | - | Y | - | - | - | - | - | - |
- The modifiers which are applicable for inner classes but not for outer classes are Private,Protected and Static
- The modifiers which are applicable for classes but not for interface are Final
- The modifiers which are applicable for classes but not for enums are Final and Abstract
- The modifiers which are applicable only for methods are Native
- Interface defined inside a class is static weather we are declaring or not
- Interface defined inside a interface is static and public weather we are declaring or not
- Class defined inside a interface is static and public weather we are declaring or not
No Comments Yet!!