What is the difference in the accessibility of the following variables in Java?
public class Joe {
public int a;
protected int b;
private int b;
int c;
}
I'm most interested in what the last one is doing.
public
: read/writable for anyoneprotected
: read/writable for
instances of subclasses and from within the enclosing packageprivate
: read/writable for any instance of the class
and inner or outer (enclosing) instanceint c
:
package-private, read/writable for
all classes inside same packageSee the JLS for more details
EDIT: Added the comment for protected stating that access is granted from inside same package, you guys are totally right. Also added comment for private
. I remember now... ;-)