编译
期只会检查实例声明的类型和强制转化的类型是否存在extends/implements关系
,而程序的其他错误在运行时期才能获取。
Java的引用变量
有两个类型:
编译时类型
由声明
该变量时使用的类型决定运行时类型
由实际赋给
该变量的对象决定。
如果编译时类型和运行时类型不一致,运行时
执行调用方法
(属性不会)时会出现所谓的多态
。
如:Person person = new Student(); //编译时类型为Person,运行时类型为Student
参考文献
https://segmentfault.com/q/1010000002574076 编译时类型和运行时类型