【发布时间】:2017-10-08 13:57:28
【问题描述】:
假设我有一个声明为默认访问的类。如果类中的成员声明为protected 或public,是否等同于声明为default 访问权限的成员?
例如:
在 CarA.java 中:
class CarA { //class declared with default access
public int odometer;
protected void forward(int distance){...
}
protected static void tally(){...
}
}
在 CarB.java 中:
class CarB { //class declared with default access
int odometer;
void forward(int distance){...
}
static void tally(){...
}
}
CarA 和 CarB 是否等效?
我的理由是,由于该类未声明为public,因此该类在其包外不可访问,因此其成员也不应在其包外访问。有人可以确认我的想法是正确的吗?
【问题讨论】:
-
我相信你需要read this QA。它在方法可见性和类可见性方面没有什么不同.. afaik.
-
这些资源似乎分别解决了类和成员的访问权限,但不是我上面指出的组合。
-
@BagusTesa 如果类具有默认(包私有)访问权限,您将如何从包外部访问公共成员?