首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 种的初始化1

2012-12-26 
java 类的初始化1第一次class Person{public static final int anew Random().nextInt(40)static{System

java 类的初始化1

第一次
class Person{
public static final int a=new Random().nextInt(40);
static{
System.out.println("类被初始化");
}

}
public class Test01 {

public static void main(String[] args) {

System.out.println(Person.a);
}

}

运行结果
类被初始化
31

第二次
class Person{
public static final int a=4/2;
static{
System.out.println("类被初始化");
}

}
public class Test01 {

public static void main(String[] args) {

System.out.println(Person.a);
}

}

运行结果
2

个人理解
第二次的a是一个编译时的常量,在使用这个常量的时候不属于类的主动使用,不会导致Person类的初始化,而第一次的a只有在运行时才可以确定值,并不是一个编译时的常量属于主动使用会初始化Person类

热点排行