Java继承补充
编译看左边运行看右边
以Person s=new Student();为例。左边用以声明类型,右边用以创建对象。而编译器编译时会查看左边的声明中是否有编译错误(在多态中尤为重要,看是否左边的类型中是否缺少右边类型的方法,否则报错。右边的类型通常为左边类型的子类)。即使没有报错,一旦右边实际真正运行起来也有可能会出现错误,这时就要查看右边类中具体实现的代码。所以编译时错误看左边,运行时错误看右边。
同理这是对方法来说的,如果是变量就是编译和运行都看左边了。因为变量不会重写,只有方法可以重写,所以在多态中,方法编译要看左边,因为方法有重写,首先父类得有这个方法才不会报错,运行的时候看右边,因为方法被重写了
本文来自博客园,作者:Cn_FallTime,转载请注明原文链接:https://www.cnblogs.com/CnFallTime/p/15830460.html