为了账号安全,请及时绑定邮箱和手机立即绑定

子类重写运行不出来

不好意思,因为找不到问答的输入框就来这里问了。 问:我写的继承代码,为什么运行结果还是父类的,而重写的子类没有出来?代码如下,谢谢。 //父类 package LEI; public class Books { public String name; public String author; public int num; public void read(){ System.out.println("书可以阅读!"); } }

//子类

package LEI;


public class theCountOfMonteCristo extends Books {

public void read(){

System.out.println("基督山伯基很精彩!");

}

}

//测试

package LEI;


public class Initial {


public static void main(String[] args) {

// TODO Auto-generated method stub

Books book=new Books();

book.name="The Count Of Monte Cristo";

book.author="Dumas";

book.num=15;

book.read();

}


}


正在回答

代码语言

2 回答

因为你New的是父类对象,而不是子类对象,自然执行的是父类的read()方法。如果你这么写:

Books book = new theCountOfMonteCristo();

这时候book.read()才是子类重写的方法。

建议:以后贴代码的时候不要这么贴,编辑器的左上角有个代码语言,你选择相对应的语言,把代码填到那个框框里。

1 回复 有任何疑惑可以回复我~
#1

一梦迁千寻 提问者

非常感谢!
2015-12-06 回复 有任何疑惑可以回复我~

568cd5b1000193ff05000251.jpg

568cd5b10001e8c904820351.jpg

568cd5b10001470405000239.jpg

看我的

0 回复 有任何疑惑可以回复我~
#1

吾怯二日

这个怎么了 没什么问题啊
2016-03-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

子类重写运行不出来

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信