{{1}}
为什么我们不能这样做? obj有一个Child类型的对象,但仍然无法访问显示功能?
答案 0 :(得分:1)
执行此操作时:
Parent obj = new Child();
您正在创建Parent
类型的变量。您可以将new Child()
引用到obj是因为Child
是Parent
的子类。
由于obj被声明为Parent
,因此它只能访问Parent
的属性和方法。
要使其能够访问Child
的方法和属性,您可以将其强制转换:
((Child)obj).display();
将其转换为Child
就像告诉Java从现在开始将obj
视为Child
。
答案 1 :(得分:0)
你不能这样做因为Parent类没有方法显示,所以很简单,如果你想调用方法那么你必须做一些叫做cast的事情
即将父级转换为子级
((Child)obj).display();
PS:考虑重新命名这些类,以便在用简单的人类词汇制定继承时更有意义......