一个简单的例子
class A {
protected int foo(int x){
return x;
}
}
class B extends A {
public int foo(int x){
return x*x;
}
}
这在 Java 中是允许的,并且没有任何问题。但是让我们说在另一个包中你声明
A b = new B();
int z = b.foo(5);
那么这将不起作用,因为显然 A foo() 是受保护的。但是,为什么首先要允许在子类中有更多可访问的方法呢?是否有这种情况有帮助?
RISEBY
慕的地6264312
相关分类