java中的继承(子类调用父类构造方法还不懂) 下载本文

private String name; private int age;

private Date birthDate;//Date类型引入util包 public Person(String name, int age, Date d) { this.name = name; this.age = age; this.birthDate = d; }

public Person(String name, int age) { this(name, age, null); }

public Person(String name, Date d) { this(name, 30, d); }

public Person(String name) { this(name, 30); } }

构造方法不能继承:子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法 调用父类构造方法:子类的构造方法必须调用父类的构造方法! 如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法 如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错

在子类的构造方法中可使用语句super(argument_list) 调用父类的构造方法 对象构造和初始化细节:

分配存储空间并进行默认的初始化 按下述步骤初始化实例变量 绑定构造方法参数

如有this()调用,则调用相应的重载构造方法,然后跳转到步骤5 显式或隐式追溯调用父类的构造方法(Object类除外) 进行实例变量的显式初始化操作

执行当前构造方法的方法体中其余的语句 Object 类:Object类是所有Java类的根父类

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wanghui20091129/archive/2010/01/03/5123359.aspx