黑马程序员技术交流社区

标题: 继承 [打印本页]

作者: 高海燕    时间: 2011-8-11 13:33
标题: 继承
子类从父类里继承所有的方法和变量,但却不能继承父类的构造器,那么有没有什么方法能获得父类的构造器?
作者: 匿名    时间: 2011-8-11 18:41
使用在子类的构造器中使用super()可以调用父类的构造器[code]public class Person {

        public String name;
       
        public Person(String name) {
                this.name = name;
                System.out.println("这时父类的构造器");
        }
}

public class Student extends Person{

        public Student(String name) {
                super(name);
                System.out.println("这是子类的构造器");
        }
       
        public static void main(String[] args) {
                Student s = new Student("zhagnsan");
        }
}[/code]
作者: 匿名    时间: 2011-8-14 00:06
你new一个子类的时候,如果其构造方法没调用父类的,则隐式调用父类的无参构造方法。所以当父类没无参构造方法而子类的构造方法又没调用它,编译器会按上面所说,试图调用父类的无参构造方法,理所当然的,出错,至少会抛什么异常,不记得了,要想知道,楼主可自行验证




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