在静态绑定的情况下,对象的类型是在编译时确定的,而在动态绑定中,对象的类型是在运行时确定的。
静态绑定
class Dog {
private void eat() {
System.out.println("dog is eating...");
}
public static void main(String args[]) {
Dog d1 = new Dog();
d1.eat();
}
}
动态绑定
class Animal {
void eat() {
System.out.println("animal is eating...");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog is eating...");
}
public static void main(String args[]) {
Animal a = new Dog();
a.eat();
}
}