我现在正在学习如何重写,并且我读到私有方法不能重写here
我还了解到,访问级别不能比超类访问级别here更严格
所以我想知道的是,这是否意味着你只能重写公共方法?你的新方法也必须是公开的吗?
场景
class A {
private void method1(){
....
}
}
class B extends A {
private void method1(){
....
}
}我说这将是一个编译时错误,因为私有方法不能被覆盖,我这样说对吗?
Scenario2
class A {
public void method1(){
....
}
}
class B extends A {
private void method1(){
....
}
}我说这也会产生编译时错误,对吗?因为B中method1()的访问级别比A中的method1()更严格
Scenario3
class A {
public void method1(){
....
}
}
class B extends A {
public void method1(){
....
}
} 最后一个问题,这是唯一可以覆盖的场景方法吗?(两个访问级别都是公共的)
https://stackoverflow.com/questions/44538654
复制相似问题