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

Java 每日一题:2016-06-16

Java 每日一题:2016-06-16

慕莱坞9220042 2016-06-16 18:40:46
每天在这里贴一道 Java 题,借用java贴吧题目,来提高各位学习的兴趣和质量,希望多多支持!请问输出结果是什么?
查看完整描述

5 回答

已采纳
?
冰山点水

TA贡献109条经验 获得超149个赞

我只说重点:第一行:Parent      blue
                         第二行:Child         null

这个题出的很不错,考点是子类对父类方法的重写!创建父类对象就不说了,应该都明白。在创建子类对象时候,先执行父类构造器,再执行子类构造器,执行父类构造器的时候,当运行到print方法时会跳到子类的print方法(因为方法重写的原因),这时候还没有执行子类构造器,也就没对子类的color进行初始化,默认为null。所以第二行打印的color为null。

查看完整回答
7 反对 回复 2016-06-16
?
yanrun

TA贡献317条经验 获得超240个赞

Parent Class. The color is Blue
Child Class. The color is null

子类初始化的时候会调用父类的构造方法,因而会调用printColor方法,而子类的构造方法没有调用printColor方法,color都没有赋值,是null值

查看完整回答
1 反对 回复 2016-06-16
?
SoyaDokio

TA贡献17条经验 获得超5个赞

我以为输出就是Blue和Red,结果却是Blue和null。看了@冰山点水 的分析后恍然大悟。

查看完整回答
反对 回复 2016-06-25
?
怪盗饭团

TA贡献97条经验 获得超118个赞

踩个沙发

查看完整回答
反对 回复 2016-06-16
?
在见

TA贡献1条经验 获得超0个赞

输出两个blue再输出一个red

查看完整回答
反对 回复 2016-06-16
  • 5 回答
  • 4 关注
  • 1767 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信