是的,超类的受保护方法可以被子类覆盖 。如果超类方法受到保护,则子类重写方法可以具有保护 或公共 (但不是默认 或私有),这意味着子类重写方法不能具有较弱的访问说明符。
class A {
protected void protectedMethod() {
System.out.println("superclass protected method");
}
}
class B extends A {
protected void protectedMethod() {
System.out.println("subclass protected method");
}
}
public class Test {
public static void main(String args[]) {
B b = new B();
b.protectedMethod();
}
}输出结果
subclass protected method