In Java, are there clear rules on when to use each of access modifiers, namely the default (package private),
When and why should I use public, private, and protected functions and variables inside a class? What is the d