JAVA#初始化块'学习札记

1.初始化块:对JAVA对象进行初始化的代码块;

2.静态初始化块:

1️⃣Format:

static{

Kobe=24;

}

2️⃣静态代码块可以对类的属性进行初始化操作;

3️⃣只可以对静态属性进行初始化;

4️⃣静态初始化块仅执行一次且先于非静态初始化块执行;

3.非静态初始化块:

1️⃣Format:

{

Kobe=24;

}

2️⃣非代码块可以对类的属性进行初始化操作;

3️⃣可以调用静态属性和方法;

4️⃣每次创建对象时都会执行一次且先于构造器执行;

4.e.g.

class Belluci {
    public static int allen;
    public static int iverson;
    {
        iverson=3;
        System.out.println("I am what I am");
    }
    static {
        allen = 100;
        System.out.println("Hail Hydra!");
    }
}

public class Monica {
    public static void main(String[] args) {

        System.out.println("allen = "+ Belluci.allen);
        Belluci b=new Belluci();
        Belluci e=new Belluci();
    }
}
Hail Hydra!
allen = 100
I am what I am
I am what I am

如上,可知:

1️⃣每次创建对象,静态代码块都会执行一次;

2️⃣非静态代码块可以调用静态属性;;

3️⃣静态代码块随着类加载而加载,而且只被执行一次,

4️⃣静态代码块的执行先于非静态代码块的执行;

猜你喜欢

转载自blog.csdn.net/Iverson941112/article/details/82109885
今日推荐