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

这里用抽象类为什么更合理呢?

老师视频说:这里使用抽象类更为合理。

这个为何更合理。。没弄明白 两次输出结果是一样的啊。

正在回答

3 回答

//img4.sycdn.imooc.com/59e59c6b0001597805550191.jpg


这样还是会报错

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

牛克wj

你应该在测试类里边实例化,在接口里边定义方法
2017-10-19 回复 有任何疑惑可以回复我~
#2

_秋

你只是在父类定义了抽象的方法,在子类里面具体去实现它,把美国人的say 具体写出来
2017-10-20 回复 有任何疑惑可以回复我~

//img1.sycdn.imooc.com/59e59c200001c67a14390777.jpg


这样还是报错

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

用抽象类就不用进行重写父类的方法啦,直接调用就可以

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

慕移动7208282 提问者

不是很明白 请问下 哪里不用重写父类的方法
2017-10-16 回复 有任何疑惑可以回复我~
#2

牛克wj 回复 慕移动7208282 提问者

在写的每个子类中,如果用实体类的话,需要重写方法;用抽象类的话,可以直接调用父类的方法即可
2017-10-16 回复 有任何疑惑可以回复我~
#3

慕移动7208282 提问者 回复 牛克wj

请问一下 我写了一下 怎么不对
2017-10-16 回复 有任何疑惑可以回复我~
#4

慕移动7208282 提问者 回复 牛克wj

这个是父类 package com.imooc; public abstract class APerson { //定义一个抽象类 用这个APerson来代替父类 public abstract void say(); // 抽象类里只是定义一个方法 不用管实现 }
2017-10-16 回复 有任何疑惑可以回复我~
#5

慕移动7208282 提问者 回复 牛克wj

这个是子类 package com.imooc; public class American extends APerson { American i = new American(); i.say(); }
2017-10-16 回复 有任何疑惑可以回复我~
#6

牛克wj 回复 慕移动7208282 提问者

你发一下你的代码看看呗
2017-10-16 回复 有任何疑惑可以回复我~
#7

慕移动7208282 提问者 回复 牛克wj

发了 我把子类的方法删掉后报错
2017-10-17 回复 有任何疑惑可以回复我~
#8

牛克wj 回复 慕移动7208282 提问者

public class American extends APerson { APerson i = new American(); i.say(); }
2017-10-17 回复 有任何疑惑可以回复我~
#9

牛克wj 回复 慕移动7208282 提问者

需要在测试类中写实例化,在American类中只要写say()方法体就好
2017-10-17 回复 有任何疑惑可以回复我~
#10

慕移动7208282 提问者 回复 牛克wj

按照你这么写不行啊 eclipse会报错。。。
2017-10-17 回复 有任何疑惑可以回复我~
查看8条回复

举报

0/150
提交
取消

这里用抽象类为什么更合理呢?

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