Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
public class a {
protected int x;
}
public class b {
b() {
a A=new a();
A.x=9;//why we can access this field ?
}
}
please help my to know the specific work of protected in Java
Protected members can be accessed from the child class of the same package. Package members can be accessed from the child class of the same package. Public member can be accessed from non-child classes of the same package. Private members cannot be accessed from non-child classes of the same package.
Protected Access Modifier - Protected Variables, methods, and constructors, which are declared protected in a superclass can be accessed only by the subclasses in other package or any class within the package of the protected members' class. The protected access modifier cannot be applied to class and interfaces.
A subclass inherits all of the public and protected members of its parent, no matter what package the subclass is in.
A protected member or constructor of an object may be accessed from outside the package in which it is declared only by code that is responsible for the implementation of that object.
Why? Because that's how the Java programming language was designed. There's not much more to it.
Something that is protected
is accessible from
This is different from C++, but Java is not C++, so it doesn't necessarily work in the same way.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With