1. 什么是虚拟方法
正常的方法调用:
Person e = new Person();
e.getInfo();
Student e = new Student();
e.getInfo();
虚拟方法调用(多态情况下):
Person e = new Student();
e.getInfo(); //调用Student类的getInfo()方法
编译时类型和运行时类型:
编译时e为Person类型,而方法的调用是在运行时确定的,所以调用的是Student类的getInfo()方法。
——动态绑定
2. 多态小结
前提:
需要存在继承或者实现关系
要有覆盖操作
成员方法:
编译时:要查看引用变量所属的类中是否有所调用的方法。
(编译时检查父类类型)
运行时:调用实际对象所属的类中的重写方法。
(运行时执行子类类型)
成员变量:
不具备多态性,只看引用变量所属的类。
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训训课程视频供广大学员下载学习
上一篇: Java培训SE基础之基本特征三 多态
下一篇: Java培训SE基础之多态的应用场景