常量

java puzzler 93

1对于常量域的引用会在编译期被转化为它们所表示的常量的值[JLS 13.1]。

这样的域从技术上讲,被称作常量变量(constant variables)。一个常量变量的定义是:一个在编译期被常量表达式初始化的final 的原始类型或String 类型的变量[JLS4.12.4]

2 是null 不是一个编译期常量表达式

 

 

运行客户端程序,打印:

 

修改Words.java, 但是不编译PrintWords.java,

运行 PrintWords.main 打印结果

 

如果你使用了一个非常量的表达式去初始化一个域,甚至是一个final 域,那么这个域就不是一个常量。

 

修改 Words.java

这时修改库代码,客户端调用就不需要重新编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值