黑马程序员技术交流社区

标题: 这题难倒我了,有大神讲讲么 [打印本页]

作者: zhang2013lei    时间: 2015-7-15 23:45
标题: 这题难倒我了,有大神讲讲么
给定如下一个Java源文件Child.java,编译并运行Child.java,会出现什么问题
classParent1 {
    Parent1(String s){
        System.out.println(s);
    }
}
classParent2  extends Parent1{
    Parent2(){
       System.out.println("parent2");
    }
}
publicclass Child extends Parent2 {
    public static void main(String[] args) {
        Child child = new Child();
    }
}


作者: 时光无痕    时间: 2015-7-15 23:52
子类默认调用父类无参构造。父类中有参构造,当调用时,子类就会找不到,会报错,这时只能super(参数)。要不就要把无参构造写出来
作者: 反文旁    时间: 2015-7-15 23:59
第一个父类,也就是最后一个子类的爷爷类,由于这个代码里定义了一个有参数的构造方法,所以系统不会默认生成无参构造方法,然后就会报错,在parent1这个类中写上无参构造代码就能用了
作者: 825176857    时间: 2015-7-16 00:04
楼上说的对
作者: 游呤人    时间: 2015-7-16 00:09
Parent方法会自动调用父类的无参构造




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2