isn';t protected在Java中应该只能由子类访问吗?
我真的很惊讶,这段代码没有给我任何编译错误isn';t protected在Java中应该只能由子类访问吗?,java,oop,inheritance,Java,Oop,Inheritance,我真的很惊讶,这段代码没有给我任何编译错误 class A { protected int a; } class B { void b() { A a = new A(); a.a = 4; } } 不,受保护对同一包中的其他类可见 要记住的是,访问修饰符是为了避免用太多的信息打扰他人。如果您在同一个包中工作,那么您已经获得了信息,如果您愿意,可以使用它。injava protected variable在包内和包外都可以访问,但是可
class A {
protected int a;
}
class B {
void b() {
A a = new A();
a.a = 4;
}
}
不,受保护对同一包中的其他类可见
要记住的是,访问修饰符是为了避免用太多的信息打扰他人。如果您在同一个包中工作,那么您已经获得了信息,如果您愿意,可以使用它。injava protected variable在包内和包外都可以访问,但是可以使用继承。如果来自包外的任何其他类尝试访问这些变量,编译器将在编译时抛出错误。 你可以详细阅读
protected
将可见性设置为相同的包级别。如果类A和类B在同一个包级别,这是可以的。我投票结束这个问题,因为最好通过阅读语言规范/文档来回答这个问题。