【New Star】Java类的初始化过程

每一个不曾起舞的日子都是对生命的辜负。—尼采

Java类的初始化过程

这是javase一个难点,很多人都记不住,而且经常忘记。其实本质上是一句话:类的初始化过程也就是方法执行的过程。

类的初始化过程也就是方法执行的过程!
类的初始化过程也就是方法执行的过程!

Java类的初始化过程
父类静态域——》子类静态域——》父类成员初始化——》父类构造块——》1
父类构造方法**——》2子类成员初始化——》子类构造块——》3子类构造方法

总结:父类先于子类 静态的先于非静态的

其中静态域包含静态代码块与静态方法,这个谁在前面,则先执行谁。

构造代码块
在类中没与任何的前缀或后缀,并使用"{}"括起来的代码片段.
例如: {a= 1;}

接下来放一道练习题


public class A {
    static int age = 10;
    static {
        System.out.println("静态代码块二");
    }
    //给静态成员变量赋值
    static A a1 = new A("a1");
 
    static int j  = print("j");
    {
        System.out.println("普通代码块执行了。。。。");
        print("构造块");
    }
    static {
        print("静态代码块");
    }
    public A(String a1) {
        System.out.println("有参构造器");
    }
    private static int print(String j) {
        System.out.println(j);
        return 0;
    }
 
    public A() {
    }
 
    public static void main(String[] args) {
        new A();
        System.out.println(66666);
    }
}

【New Star】Java类的初始化过程_第1张图片

你可能感兴趣的:(java,开发语言)