黑马程序员技术交流社区

标题: 求大神详解,编译看左边运行看右边? [打印本页]

作者: hi丶bo    时间: 2016-1-19 15:00
标题: 求大神详解,编译看左边运行看右边?
这句话的意思
作者: ZEROCRF    时间: 2016-1-19 22:31
以Person s=new Student();为例。左边用以声明类型,右边用以创建对象。而编译器编译时会查看左边的声明中是否有编译错误(在多态中尤为重要,看是否左边的类型中是否缺少右边类型的方法,否则报错。右边的类型通常为左边类型的子类)。即使没有报错,一旦右边实际真正运行起来也有可能会出现错误,这时就要查看右边类中具体实现的代码。所以编译时错误看左边,运行时错误看右边。
作者: 黑色皮肤的马    时间: 2016-1-19 22:41
这是对方法来说的,如果是变量就是编译和运行都看左边了。因为变量不会重写,只有方法可以重写,所以在多态中,方法编译要看左边,因为方法有重写,首先父类得有这个方法才不会报错,运行的时候看右边,因为方法被重写了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2