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

读好书,交益友

文章分类

全部博文(447)

文章存档

2024年(1)

2023年(5)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: 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的文档
编译期常量,永远不可改变。对于编译期常量,它在类加载的过程就已经完成了初始化,所以当类加载完成后是不可更改的,编译期可以将它代入到任何用到它的计算式中,也就是说可以在编译期执行计算式。当然对于编译期常量,只能使用基本类型,而且必须要在定义时进行初始化。
阅读(1782) | 评论(0) | 转发(0) |
0

上一篇:samba配置

下一篇:centos如何安装vnc

给主人留下些什么吧!~~