BCA / B.Tech 10 min read

Access Modifiers in Java

What are Access Modifiers in Java?

Access modifiers are keywords in Java that define the visibility or accessibility of a class, method, constructor, or variable. They are a core part of encapsulation, as they allow you to control which parts of your application can access specific code members, protecting them from unauthorized use.

The Four Access Modifiers:
  1. private: The most restrictive level. Members declared as `private` are only accessible within the same class in which they are declared. They cannot be seen by any other class, not even subclasses.
  2. default (Package-Private): This is the access level when no modifier is specified. Members are accessible only to classes within the same package.
  3. protected: Members are accessible within the same package and also by subclasses in different packages.
  4. public: The least restrictive level. Members are accessible from any other class, regardless of the package.

Accessibility Comparison Table:
Modifier Within Class Within Package Subclass (Different Package) Outside Package (World)
public Yes Yes Yes Yes
protected Yes Yes Yes No
default Yes Yes No No
private Yes No No No