黑马程序员技术交流社区
标题:
考试必做!!!
[打印本页]
作者:
hui2126ning
时间:
2015-9-23 23:55
标题:
考试必做!!!
给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是()。
class Parent1 {
Parent1(String s){
System.out.println(s);
}
}
class Parent2 extends Parent1{
Parent2(){
//super();
System.out.println("parent2");
}
}
public class Child extends Parent2 {
public static void main(String[] args) {
Child child = new Child();
}
}
A. 编译错误:没有找到构造器Child()
B. 编译错误:没有找到构造器Parent1()
C 确运行 ,没有输出值
D.正确运行,输出结果为:parent2
作者:
善良的禽兽
时间:
2015-9-24 09:18
B,
当你没有定义自己的构造函数的时候, 类中有一个合成的无参数的默认构造函数, 但是当你自己定义了构造函数之后, 这个系统合成的无参数的默认构造函数就不存在了, 因为编译器只有在发现类不包含任何构造函数的情况下才会替我们生成一个默认的构造函数, 一旦我们定义了一些其他的构造函数, 那么除非我们再定义一个默认的构造函数, 否则没有构造函数, 这条规则的依据是: 如果一个类在某种情况下需要控制对象的初始化, 那么该类很可能在所有情况下都需要控制;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2