public class CCC extends aaa{
public static void main(String[] args) {
new CCC().e();
}
private void e(){
System.out.println(777);
}
}
class aaa{
private final void e(){
System.out.println(666);
}
}
平时要是说final修饰方法,则方法不能被重写,那假如看到这个题,你能准确直到答案吗?
是报错?
777?
666?
解决本题先看e()是否被重写,因为首先final声明的方法是不能被覆盖的,但是这里并不错误,因为方法是private的,也就是子类没有继承父类的e方法,因此子类的e方法跟父类的run方法无关,并不是覆盖。new Car().e()也是调用子类的e方法