Java对象初始化过程

时间:2021-06-29 15:28:22   收藏:0   阅读:0

Java为对象初始化提供了多种选项。

当new一个对象的时候,对象初始化开始:

1.首先,JVM加载类(只加载一次,所以,即使多次new对象,下面的代码也只会在第一次new的时候执行一次),此时,

2.类加载完毕,然后以下代码(每次new对象都会执行),

3.构造器初始化

4.如果一个类继承了另一个类(当然,任意类都直接或间接的继承自Object),在构造器初始化时,有所不同

演示代码

public class MyClass {
    private int i=0;
    private String s=null;
    private static int id=0;

    static {
        System.out.println("静态初始化块 1");
    }

    static {
        System.out.println("静态初始化块 2");
    }

    {
        System.out.println("初始化块 1");
    }

    {
        System.out.println("初始化块 2");
    }

    public MyClass() {
        this(0,"");
        System.out.println("MyClass()");
    }

    public MyClass(int i, String s) {
        System.out.println("MyClass(int,String)");
        this.i = i;
        this.s = s;
    }

    public static void main(String[] args) {
        new MyClass();
    }
}

public class MySubClass extends MyClass
{
    private int b=0;

    public MySubClass()
    {
        System.out.println("MySubClass()");
    }

    public MySubClass(int i,String s,int b)
    {
        super(i,s);
        this.b = b;
        System.out.println("MySubClass(int,String,int)");
    }

    public static void main(String[] args)
    {
        new MySubClass();
        new MySubClass(0,"",0);
    }
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!