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

课后练习,问题在哪儿啊

交通方式:

https://img1.sycdn.imooc.com//5c7e338800015c6b06320309.jpg

客车:

https://img1.sycdn.imooc.com//5c7e33b20001d4a604790242.jpg

轮渡:

https://img1.sycdn.imooc.com//5c7e33d0000168ab05030252.jpg

飞机:

https://img1.sycdn.imooc.com//5c7e33e700011b1b05150244.jpg

测试:

https://img1.sycdn.imooc.com//5c7e33f8000147e206650229.jpg

正在回答

3 回答

首先,super表示调用父类的方法,this表示调用本类的方法,super和this都只能放在方法的第一行,所以不可能同时出现。所以super应该写在子类的方法中调用父类的方法,你的Transport类应该去掉super();(其实不去掉也行因为在3-7章写了super();属于系统默认的隐式)

https://img1.sycdn.imooc.com//5c8ca7f50001e94e07640375.jpg

然后,Bus类继承了Transport类,就不需要再声明对象,也不需要this(记住this不能super共用)

创建一个Bus无参的构造方法,再通过super(参数)给对象赋值,参数的顺序要跟你在父类声明的顺序一样哦

https://img1.sycdn.imooc.com//5c8ca9a90001fe8004740231.jpg

需要注意的是:如果父类的方法是private修饰的,super调用就不会成功

https://img1.sycdn.imooc.com//5c8cab200001fbfc07320150.jpg

https://img1.sycdn.imooc.com//5c8cab6300013f6404860090.jpg


接下来的子类都是这种方法

https://img1.sycdn.imooc.com//5c8ca9e300014bac04950176.jpg

https://img1.sycdn.imooc.com//5c8ca9f50001333c05050183.jpg

最后在测试类运用这节课学到的知识,就能运行成功啦~

https://img1.sycdn.imooc.com//5c8cabde0001434105860316.jpg

https://img1.sycdn.imooc.com//5c8cac1100012fa805260111.jpg

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

或许这样更简单些
https://img1.sycdn.imooc.com//5c86319d0001056310240528.jpg

https://img1.sycdn.imooc.com//5c8631ad0001582305910320.jpg


https://img1.sycdn.imooc.com//5c8631c00001d37d06750341.jpg

https://img1.sycdn.imooc.com//5c8631d20001b50006800281.jpg

https://img1.sycdn.imooc.com//5c8631df000130fd07900456.jpg

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

念津思津

我可以问下那个super怎么用吗
2019-03-13 回复 有任何疑惑可以回复我~
#2

SunnyLee4195125 回复 念津思津

super(参数列表)给对象赋值,参数的顺序要跟你在父类声明的顺序一样哦
2019-03-16 回复 有任何疑惑可以回复我~
#3

星的AB

其实可以更简单吧?在实例化对象的时候直接传入参数,不用刻意在子类内写方法给父类属性对象
2019-03-17 回复 有任何疑惑可以回复我~

父类的函数不能访问子类的私有成员变量

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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

课后练习,问题在哪儿啊

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