Java dynamic binding举例讲解
时间: 2023-10-09 11:10:12 浏览: 118
Java dynamic binding(动态绑定)是指在运行时根据对象的实际类型来调用相应的方法。具体来说,当一个对象被声明为父类类型,但实际上其引用指向了子类对象时,调用该对象的方法时会根据子类的实际类型来确定调用哪个方法。
举个例子,假设有如下的类继承关系:
```
class Animal {
public void say() {
System.out.println("I am an animal.");
}
}
class Cat extends Animal {
public void say() {
System.out.println("I am a cat.");
}
}
class Dog extends Animal {
public void say() {
System.out.println("I am a dog.");
}
}
```
现在有如下的代码:
```
Animal animal1 = new Cat();
Animal animal2 = new Dog();
animal1.say();
animal2.say();
```
在运行时,animal1实际上是一个Cat对象,animal2实际上是一个Dog对象。因此,调用animal1.say()时会调用Cat类中的say()方法,输出"I am a cat.";调用animal2.say()时会调用Dog类中的say()方法,输出"I am a dog."。
这就是Java动态绑定的体现,它使得代码更加灵活和可扩展,可以根据实际情况来动态调用不同的方法。
阅读全文