我有两个公共类A类和B类。
public class A{
protected int x;
}
public class B{
A a = new A();
a.x // still possible even though its protected
}
在A类中我定义了一个受保护的变量,但是我仍然可以在B中访问这个变量。为什么,当它受到保护?
我听说这是因为它们在同一个包装中,但这让我感到困惑。我甚至没有创建一个包,所以在这种情况下受保护的工作如何?如果我不为它们创建包,那么这两个类是不存在的包吗?
我尝试使用
在两个类中输出this.getClass().getPackage()
它们都给了我“null”。所以我不明白这里发生了什么。他们是否在同一个包裹中?