重写方法是否可以具有与基类中的访问说明符不同的访问说明符?
在抽象类中,我必须将哪个访问修饰符用于方法,以便子类可以决定它是否应为公共?是否有可能在Java中“覆盖”修饰符?
public abstract class A {
??? void method();
}
public class B extends A {
@Override
public void method(){
// TODO
}
}
public class C extends B {
@Override
private void method(){
// TODO
}
}
我知道如果有人调用,静态绑定会出现问题:
// Will work
A foo = new B()
foo.method();
// Compiler ?
A foo = new C();
foo.method();
但也许还有另一种方法。我怎样才能做到这一点?