您的位置:首页 > 其它

对象初始化方式及顺序

2012-05-17 10:43 169 查看
-- 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: