Java学习笔记——类的多态
多态
发送消息给某个对象,让该对象自行决定响应何种行为。
静态多态:重载、重写
动态多态:运行时确定函数的具体调用, 通过将子类对象赋值给父类变量来实现动态方法调用。
父类的引用可以指向子类的对象:向上转型。// Person p= new Teacher();
- 指向子类的对象的父类类型的引用可以调用父类中定义的属性和方法。
- 指向子类的对象的父类类型的引用无法调用子类中定义而父类中没有的方法。
“向上转型”既可以使用子类强大的功能,又可以抽取父类的共性。
例:
person.display();将执行子类定义的方法
对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的定义的这个方法,这就是动态链接。
父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用。
对于子类中定义而父类中没有的方法,无法调用。