class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base= new Child();
base.methodB();
}
}
请问这题哪里有错误,关于父类和子类的调用到底是怎么样的?求大神指教~
2 回答
dky
TA贡献93条经验 获得超26个赞
超人有人类的所有功能,所有人类都可以像超人那样飞么? extends,很多人都把他称为继承,它本来的意思是拓展,拓展什么意思 ,就是拓展了一些新增加的功能。举个例子,有个叫杰克的超人,在人群中只有我知道,看上去,杰克就是个普通人。然后,我说,杰克你是超人,你飞起来。假设杰克很听话,然后脱去外衣露出s标志(强制转换), (Child)base.methodB();那杰克飞的起来么。没错,他是超人,他可以飞。那另外一个普通人,我叫他飞,他也试图飞,但是他飞不起来,所以报错。
柠烟夏季
TA贡献15条经验 获得超14个赞
父类的引用虽然实际指向的是子类对象 , 但是通过父类引用是无法去调用子类自己的方法 的
base.methodB(); 这句肯定会报错
可以通过向下转型来实现对子类方法的调用
添加回答
举报
0/150
提交
取消