java 初始化

来源:互联网 发布:数据专业问答题 编辑:程序博客网 时间:2024/05/29 19:51

针对java初始化注意事项:

一、一般常用的java类初始化(构造方法初始化、调用静态方法初始化),也可以理解为初始化就是第一次加载静态数据的时候执行的初始化。


二、关于对静态数据的调用:

public class Test1{

public static final int num = 3;

public static final Integer nums = new Integer(1);

static {
System.out.println("加载类常量实现初始化?");
}

}

public class TestMain {


public static void main(String[] args) {

int num1 = Test1.num;


int num2= Test1.nums;

System.out.println("num1:" +num1);


System.out.println("num2:" + num2);
}


}

console 输出结果:

第一个调用:num1 : 3

第二个调用:

加载类常量实现初始化?
num2
 : 1


结论:一般情况下调用静态数据都会执行类得初始化加载,在这里将static num 标记为final 则改值就变成了编译期常量(只针对基本数据类型 包括String),然而后者虽然也加了同样的修饰符,但是后者实

现的是后期绑定,形成了静态域, 而非编译期常量, 关于java的编译期常量调用是不会进行类初始化加载的。


1 0