没有合适的资源?快使用搜索试试~ 我知道了~
很好的final讲解,本人翻译java hardcore 第二章
资源详情
资源评论
资源推荐
一 Final Constants
在定义变量时就被初始化,如
public class FinalConstants{
public final static double PI = 3.14d; // final constants
public double getCircleArea(final double radius){ // final parameters
return (Math.pow(radius,2)*PI);
}
...
}
特点:对于基本数据类型和 String 类型,使用 final 时,类在编译时对这些 final 修饰的
变量做替换。
上面的代码编译后如下
public class FinalConstants{
public final static double PI = 3.14d;
public double getCircleArea(final double radius){
return (Math.pow(radius,2)*3.14); // 发生替换
}
...
}
注意,如果在其它类中引用 FinalConstants.PI,当 FinalConstants.PI 发生修改时,该类需重
编译。为了安全,最好重新编译整个工程。
二 Final Variables
注意 final constants 和 final variables 的区别:不是太好说明,看下面的例子,自己感觉。
final double PI = 3.14d; // final constants
final String key = "env." + environmentKey; // final variables, environmentKey 是个变量
还有一点要注意,final variables 没有 final constants 的替换特点,即编译前不发生替换。
别外,final variable 推迟初始化:只要在使用前附值就行了
public class FinalVariables{
public void buildGUIDialog(final String name){
final String instanceName;
if(name == null){
// no problem here.
instanceName = getClass().getName()+hashCode();
}else{
// no problem here as well
instance = getClass().getName()+name;
}
...
卡拉曼达
- 粉丝: 4
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0