`
Chihom
  • 浏览: 5943 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java编译期常量static final

阅读更多
下面的两个初始化例子
class InitalizedClass {
	static {
		System.out.println("You have initalized InitalizedClass!");
	}
	public static int inititalize_varible = 1;

}

public class TestInitializeClass {
	public static void main(String[] args) {
		System.out.println(InitalizedClass.inititalize_varible);

	}

}

上面的结果是:
You have initalized nitalizedClass!
1

再看下面的例子
class InitalizedClass {
	static {
		System.out.println("You have initalized InitalizedClass!");
	}
       //和上面的例子唯一的差异就是此处的变量INITIALIZED_VARIBLE被声明为final
	public final static int INITIALIZED_VARIBLE = 1;

}

public class TestInitializeClass {
	public static void main(String[] args) {
		System.out.println(InitalizedClass.INITIALIZED_VARIBLE);

	}

}

上面的结果是:
1

为什么两个例子执行结果不一样,原因是第二个例子中的INITIALIZED_VARIBLE为编译期常量,它不会导致类的初始化的
2
0
分享到:
评论
1 楼 Water_HHH 2012-06-27  
    

相关推荐

Global site tag (gtag.js) - Google Analytics