Java – Differences Between Public, Protected, Package-Private, and Private Access Modifiers

access-modifiersjavaprivateprotectedpublic

In Java, are there clear rules on when to use each of access modifiers, namely the default (package private), public, protected and private, while making class and interface and dealing with inheritance?

Best Answer

The official tutorial may be of some use to you.


Class Package Subclass
(same pkg)
Subclass
(diff pkg)
World
public + + + + +
protected + + + +
no modifier + + +
private +

+ : accessible
blank : not accessible

Related Question