无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

静态代码块 & 静态方法

Posted on 2009-06-12 11:49 Gavin.lee 阅读(876) 评论(0)  编辑  收藏 所属分类: java SE & EE

静态代码块:

用途:主动执行,在类装载时执行一次,只执行一次,用于常用数据的初始化等

静态方法:

用途:被动执行,通过类名直接调用,不需要通过类的实例调用,可用于实现类的共性动作


 静态方法,这里就不啰嗦了,估计很多人看了这个解释也接差不多了解这两个的用法了。呵,还是说说我的具体实践吧。有些时候,我们的项目里会有很多的配置文件,典型的,多合作平台情况下,就会有乱七八糟的properties,在我们的项目也是会频繁的去读取啊什么的。效率肯定不用说了:低下。那么有什么好的办法吗?  回答是肯定的。呵,啰嗦了这么多,其实这里主要用来将配置文件初始化的。一个类里可以有多了静态代码块。初始化后就能直接在项目需要时候直接调用了,给个简单的例子:
package yixun.wap.resourcesload;

import yixun.wap.tools.ResourceLoader;

public class ICBC {

    
private static String interfaceName;
    
private static String interfaceVersion;
    
private static String curType;
    
private static String merID;
    
private static String merAcct;
    
private static String Language;
    
private static String merURL;
    
private static String keyaddress;
    
private static String keypassword;
    
private static String crtaddress;
    
private static String publiccrt;
    
private static String crtpassword;

    
static {
        ResourceLoader resource 
= new ResourceLoader("ICBC");
        interfaceName 
= resource.getString("interfaceName");
        interfaceVersion 
= resource.getString("interfaceVersion");
        curType 
= resource.getString("curType");
        merID 
= resource.getString("merID");
        merAcct 
= resource.getString("merAcct");
        Language 
= resource.getString("Language");
        merURL 
= resource.getString("merURL");
        keyaddress 
= resource.getString("keyaddress");
        keypassword 
= resource.getString("keypassword");
        crtaddress 
= resource.getString("crtaddress");
        publiccrt 
= resource.getString("publiccrt");
        crtpassword 
= resource.getString("crtpassword");
    }



    
// 省略了 getter setter
    
}



都说到这份上了,用的时候就直接ICBC.getXX() 就OK了。
 
PS: ResourceLoader 是自己的工具类,见这里 http://www.blogjava.net/jzone/articles/280385.html

只有注册用户登录后才能发表评论。


网站导航: