【发布时间】:2013-05-20 10:33:04
【问题描述】:
我真的对动态绑定和静态绑定感到困惑。我读过在编译时确定对象的类型称为静态绑定,在运行时确定对象类型称为动态绑定。
下面的代码发生了什么:
静态绑定还是动态绑定?
这表明了什么样的多态性?
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 Animal();
a.eat();
}
【问题讨论】:
-
你的 a.eat() 不应该在 main 方法里面吗?
-
尽快阅读“Head first core java”。
-
这更多的是dynamic binding
标签: java oop polymorphism dynamic-binding static-binding