【发布时间】:2015-04-13 07:50:44
【问题描述】:
Lion 类扩展了 Animal。
这是我的代码:
Animal a = new Animal();
Lion b = new Lion();
Animal c = (Animal) b;
Animal[] arr = { a, b, c };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i].getClass().getName());
arr[i].run();
}
结果是:
test2.Animal
动物奔跑...
test2.Lion
狮子奔跑...
test2.Lion
狮子奔跑...
从这个例子看来,“c”是“狮子”,而不是“动物”。为什么会这样?
【问题讨论】:
-
或许这个问题可以帮助你理解:stackoverflow.com/questions/4049580/…
-
这叫做“多态”
标签: java