Access Modifiers

  • For top level classes, use one of:
    • public
    • no modifier (aka default/package-private)
  • For attributes, methods, constructors, or nested/inner class use one of:
    • public
    • private
    • no modifier (aka default/package-private)
    • protected

Private

  • The access level of a private modifier is only within the class. It cannot be accessed from outside the class.

Default

Protected

  • The access level of a protected modifier is:
    • within the package
    • outside the package through child class
  • If you do not make the child class, it cannot be accessed from outside the package.

Public

  • The access level of a public modifier is everywhere. It can be accessed from within the class, outside the class, within the package and outside the package.

ref: https://www.javatpoint.com/access-modifiers

ModifierClassPackageSubclassWorld
publicYYYY
protectedYYYN
no modifierYYNN
privateYNNN

access_modifiers