对象初始化方式及顺序

来源:互联网 发布:c语言爱心的代码 编辑:程序博客网 时间:2024/06/07 04:00

-- Start

对象初始化方式

我们可以通过以下三种方式来初始对象.

  • 静态初始化块
  • 初始化块
  • 构造方法

对象初始化方式的顺序

下面的例子演示了对象各种初始化方式的顺序.

public class Test {    public static void main(String[] args) {    new Student();    }}class Poeple {    static {    System.out.println("父类 --> 静态初始化块");    }    {    System.out.println("父类 --> 初始化块");    }    public Poeple() {    this(""); // 调用其他构造器, 必须是该构造器第一条语句    System.out.println("父类 --> 默认构造器");    }    public Poeple(String name) {    System.out.println("父类 --> 自定义构造器");    }}class Student extends Poeple {    static {    System.out.println("子类 --> 静态初始化块");    }    {    System.out.println("子类 --> 初始化块");    }    public Student() {    this(""); // 调用其他构造器, 必须是该构造器第一条语句    System.out.println("子类 --> 默认构造器");    }    public Student(String name) {    System.out.println("子类 --> 自定义构造器");    }}
结果如下:

父类 --> 静态初始化块子类 --> 静态初始化块父类 --> 初始化块父类 --> 自定义构造器父类 --> 默认构造器子类 --> 初始化块子类 --> 自定义构造器子类 --> 默认构造器

--更多参见:Java 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-05-18
-- Written by ShangBo on 2012-05-17
-- End


原创粉丝点击