受保护成员的继承

时间:2017-05-25 09:44:00

标签: java inheritance

我仍然不明白为什么“Acc obj = new Test()”不会提供对超类中受保护整数的访问权限,但“Test obj = new Test()”将提供访问权限。

Acc obj = new Test(); < - NO访问受保护的整数

测试obj = new Test(); < - YES访问受保护的整数

navigator.cookie
package p1; 
public class Acc {
int p;
private int q;
[b]protected int r;[/b]
public int s;
}

1 个答案:

答案 0 :(得分:0)

Java只允许子类访问位于不同包中的受保护成员,如果它“负责实现”....即。如果它可以确定类型IS-A的子类。如果要在使用超类引用时访问受保护的成员,则需要先将其强制转换。