同一个包中的非子类和不同包中的子类有什么区别?
问问题
128 次
2 回答
2
给定一个班级,A
同一包中的非子类
A
可以访问A
不同包中的子类
A
可以访问A
.
注意:包私有保护没有关键字 - 它是在未指定其他保护时选择的保护。
public void thisIsPublic(...)
protected void thisIsProtected(...)
void thisIsPackagePrivate(...)
推荐阅读:控制对类成员的访问
于 2012-12-06T13:23:36.537 回答
2
“同一个包中的非子类和不同包中的子类”,而问题是“当我们在同一个包中声明非子类和不同包中的子类时会发生什么?
这在您处理Scope Specifiers时很重要。这里是显示差异的表格。
Private No Modifier Protected Public
1. Same class Yes Yes Yes Yes
2. Same package No Yes Yes Yes
subclass
3. Same package No Yes Yes Yes
non-subclass
4. Different package No No Yes Yes
subclass
5. Different package No No No Yes
non-subclass
该表来自“Herbert Schildt”的“Java The Complete Reference”一书
于 2012-12-06T13:59:09.327 回答