Java之动态绑定(多态)
2016-12-13 10:37
369 查看
动态绑定是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用相应的方法
动态绑定的三个条件:
1.要有继承
2.要有方法重写
3.要有父类引用指向子类对象
l1调用的是pet的方法,本来是animal引用,但是实际上是用的是cat对象,那就绑定到cat对象重写的方法
动态绑定的三个条件:
1.要有继承
2.要有方法重写
3.要有父类引用指向子类对象
class Animal { private String name; Animal(String name) { this.name = name; } public void enjoy() { System.out.println("animalshout..."); } } class Cat extends Animal { private String eyesColor; Cat(String n,String c) { super(n); eyesColor = c; } public void enjoy() { System.out.println("catshoult..."); } } class Dog extends Animal { private String furColor; Dog(String n,String c) { super(n); furColor = c; } public void enjoy() { System.out.println("dogshoult..."); } } class Lady { private String name; private Animal pet; Lady(String name, Animal pet) { this.name = name; this.pet = pet; } public void myPetEnjoy() { pet.enjoy(); } } public class TestTai { public static void main(String[] args) { Cat c = new Cat("catname", "blue"); Dog d = new Dog("d ogname", "black"); Lady l1 = new Lady("l1", c); Lady l2 = new Lady("l2", d); l1.myPetEnjoy(); l2.myPetEnjoy(); } }
l1调用的是pet的方法,本来是animal引用,但是实际上是用的是cat对象,那就绑定到cat对象重写的方法
相关文章推荐
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- Java 动态绑定方法 多态
- 【Java Learning】重载、多态和动态绑定——Overloading、Ploymorphism&Dynamic binding
- Java中的多态:动态绑定
- Java多态和动态绑定是如何实现的
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- Java的继承(继承、多态、动态绑定、静态绑定、泛型数组、对象包装器的自动装箱与自动拆箱)
- Java中的多态和动态绑定
- 【Java】多态和动态绑定中的坑
- Java中的多态与动态绑定
- Java多态与动态绑定
- Java多态和动态绑定是如何实现的
- Java 中的多态和动态绑定
- java多态总结以及动态绑定机制
- java动态绑定和多态
- JAVA笔记9-多态(动态绑定、池绑定)
- Java知多少(30)多态和动态绑定
- Java面向对象 多态动态绑定(非静态成员函数、成员变量、静态成员函数)
- Java 多态:动态绑定 及 内部实现机制
- java之动态绑定(多态)、抽象类、接口【6】