黑马程序员技术交流社区
标题: 关于子类继承父类的问题. [打印本页]
作者: 阿姆1Q84 时间: 2016-6-11 21:14
标题: 关于子类继承父类的问题.
分析如下所示的Java代码,则选项中的说法正确的是( c)。
class Parent{
publicString name;
publicParent(String pName){
this.name= pName;
}
}
public class Test extends Parent { //1
publicTest(String Name){ //2
name="hello"; //3
super("kitty"); //4
}
}
A. 第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同
B. 第3行错误,应使用super关键字调用父类的name属性,改为super.name="hello";
C. 第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行
D. 程序编译通过,无错误
答案为什么是C 老师没讲,后天就开始讲API了.问问大神们
作者: azraeljia 时间: 2016-6-11 21:20
其实答案已经解释的很明白,super()父类构造方法必须放在子类构造方法中的第一句,而第四行的super()放在了第二句,所以会编译错误,编译的时候会提示你super()需要放在第一句
作者: 阿姆1Q84 时间: 2016-6-11 21:23
这是概念 问题么?就这么定义么?SUPER必须放在子类构造方法的第一句?
作者: tianzhu2725 时间: 2016-6-11 21:26
赞同楼上的说法
作者: azraeljia 时间: 2016-6-11 21:26
对,就是这么定义的,super()必须放在第一
super(…)或者this(….)必须出现在构造方法的第一条语句上,只能出现其一
上面这句话是课堂的笔记
作者: 阿姆1Q84 时间: 2016-6-11 21:33
感谢感谢~!
作者: TheLittlePrince 时间: 2016-6-11 22:54
呵呵,我一开始纳闷的是可以直接在super内放入"Kitty",不是name,
作者: 善良的死神达乐 时间: 2016-6-11 23:36
友情提示....虽然super()和this()只能存在一个,且在第一行.......但是super和this可以共存!!!!
作者: 皮卡丘2016 时间: 2016-6-12 00:10
还没学到呢,继续努力中
作者: shenzhinishimen 时间: 2016-6-12 00:16
这个题的A也是正确的 , 子类的构造方法 publicTest(String Name){ } 这句话的String name Name小写
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |