当父类中的某一个方法调用了另一个可以被继承的方法时,如果子类重写了该方法,则会出错。
public class Super{
public void method1(){
//todo
}
public void method2(){
//todo
method1();
}
}
public class Sub{
public void method1(){
//重写该方法
}
//这个时候如果Sub的实例调用了method2的时候,就会发生意想不到的错误。因为method1方法已经被重写了。
}
复制代码
所以,如果编写一个可以被继承的类,则必须保证这个类永远不会调用它的任何可被覆盖方法。