首页 > 解决方案 > 不应该被保护只能由Java中的子类访问吗?

问题描述

我真的很惊讶这段代码没有给我任何编译错误。

class A {
    protected int a;
}
 
class B {
    void b() {
        A a = new A();
        a.a = 4;
    }
}

标签: javaoopinheritance

解决方案


不,protected 对同一包中的其他类可见。

要记住的是,访问修饰符旨在避免用太多信息打扰其他人。如果您在同一个包中工作,那么您已经获得了信息,如果您愿意,可以使用它。


推荐阅读