What are Software Access Modifiers (SAMs)
What are the 3 access modifiers
Level Access Modifiers
Top Level - can use public
Member Level - can use public, private and protected
Top Level
Member level
no access and public same as Top level
-Class member declared with private access modifier: can only
be accessed by its own class
-
Class member declared with protected access modifier: can only be accessed by classes in its own package and subclasses in another package
Class
Always has access to its own members
Package
Can only access public, protected and package-private (no modifier) members
Subclass
can only access public and protected members
World
can only access public members
How do Access levels affect programming
Why use access modifiers
Security viewpoint - encapsulation stops class members from being changed in an uncontrollable way
Programming viewpoint - changes made to a public class variable could mean changing the code everywhere that uses that variable
Choosing Access Modifiers
Immutable objects