Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2670309
  • 博文数量: 361
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 4929
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

下死功夫,动活脑筋;读好书,交益友

文章分类

全部博文(361)

文章存档

2019年(16)

2018年(23)

2017年(67)

2016年(45)

2015年(51)

2014年(58)

2013年(53)

2012年(42)

2011年(6)

分类: Java

2014-07-24 15:19:46

以前经常用final,尤其是定义Constant类。
例如
public final static String instanceName="orcl";//数据库用户实例

调用的时候
tag = LoadData2Customer.loadData(Constant.dbUserName,
                    Constant.dbPassWord, Constant.instanceName, dataFile,
                    controlFileName, logFileName, matchProperty, OnlineUserInfo
                            .getOnlineUserId(), listId);
这个没啥错误,但是如果你只想替换一下Constant类
例如
修改为
 public static final String instanceName = "epv4";

你会发现调用的时候,参数仍然为orcl,
反编译一下
  tag = LoadData2Customer.loadData("epv4", "epv4", "orcl", dataFile, controlFileName, logFileName, matchProperty, Long.valueOf(OnlineUserInfo.getOnlineUserId()), listId);
原来编译的时候,变成了常量。
必须要重新编译。
看了一下java的文档
编译期常量,永远不可改变。对于编译期常量,它在类加载的过程就已经完成了初始化,所以当类加载完成后是不可更改的,编译期可以将它代入到任何用到它的计算式中,也就是说可以在编译期执行计算式。当然对于编译期常量,只能使用基本类型,而且必须要在定义时进行初始化。
阅读(1099) | 评论(0) | 转发(0) |
0

上一篇:samba配置

下一篇:centos如何安装vnc

给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册