Loading...

Access Modifiers in Java

Access modifiers determine the scope of a class, constructor, variable, method, or data member. Java provides four types of access modifiers to set access levels for classes, variables, methods, and constructors.

Public

Accessible everywhere.


  • Classes
  • Variables
  • Methods

Private

Accessible ONLY within the class.


  • Classes (Top-level)
  • Variables
  • Methods

Protected

Accessible within package & subclasses.


  • Classes
  • Variables
  • Methods

Default

Accessible only within the package.


  • Classes
  • Variables
  • Methods

Where can they be applied?

Modifier Class Method Instance Var Static Var Local Var
Public
Private
Protected
Default

Visibility Matrix

Access Location Public Protected Default Private
Same Class
Same Package (Subclass)
Same Package (Non-Subclass)
Different Package (Subclass) (Inheritance)
Different Package (Non-Subclass)