所以定义了两个类:
public class SuperClass {
int count = 5;
SuperClass() {
}
}
public class SubClass extends SuperClass {
SubClass() {
super();
}
SubClass sub = new Subclass();
System.out.println(sub.count); // prints out 5
除非我对默认可见性修饰符的理解有误,否则我认为默认修饰符是只有同一个包中的类才能访问变量count。所以这意味着我的 SubClass 与我的 SuperClass 在同一个包中,但我没有在我的代码中的任何地方指定它们在同一个包中。这是否意味着子类总是与父类(super class)在同一个包中?
最佳答案
你是对的:默认访问修饰符(也称为 package-private )如果在另一个包中,则不能从子类访问。在您的情况下-两个类都在同一个目录中,这隐含地意味着它们在同一个包中。
关于java - 子类是否总是与 Java 中的父类(super class)位于同一个包中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621886/