黑马程序员技术交流社区

标题: 这是考试题不用编译谁能说出哪里错了 [打印本页]

作者: 双元王志超    时间: 2015-7-15 22:29
标题: 这是考试题不用编译谁能说出哪里错了
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();
    }
}
作者: e咕噜    时间: 2015-7-15 23:22
额。。。。。。。。。自己创建自己的对象?
作者: 夜写意    时间: 2015-7-15 23:39
未找到Parent1()构造方法
作者: dragonsoull    时间: 2015-7-16 10:54
这个不是上面有人发过了么?爷爷(也就是parent1)已经定义了有参数的构造方法,所以爷爷的无参数构造方法就不存在了,子类继承父类的时候在构造方法中会默认在第一行有一个super(),即调用父类的构造方法,而父类中默认的无参构造方法已经被Parent1(String s)覆盖。所以要显 式地添加super(string)在子类的构造方法中;
作者: 何鹏程    时间: 2015-7-16 23:12
加个parent1的空参构造吧
作者: _sunrain    时间: 2015-7-16 23:14
没有1的无参构造
作者: 强强_U00ts    时间: 2015-7-16 23:16
经验不够啊,不懂




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