读书人

向下转与覆盖的有关问题

发布时间: 2012-01-19 00:22:28 作者: rapoo

向下转与覆盖的问题
C c = new C();
((B)c).f();
C是B的子类,C中的f方法覆盖了B中的f方法,为什么执行的二行的时候调用的是C中的f方法?

[解决办法]
B c = new C();
[解决办法]

探讨
如果对象还是C的话
System.out.println(((B)c).a);
输出的却是B类中的a,这是为什么?

引用:

new的什么对象就是调用什么对象的方法。和你声明的引用类型没关系。

读书人网 >J2SE开发

热点推荐