java 初始化

原创 2016年05月31日 10:19:34

针对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的编译期常量调用是不会进行类初始化加载的。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)