类的初始化问题(初始化顺序与定义的位置前后有关)
来源:互联网 发布:小马网络免费空间 编辑:程序博客网 时间:2024/06/05 17:46
public class ManagerFactory { private static Properties prop = null; private static String ROOTORGANAZITION = null; public static void init() { prop = new Properties(); InputStream is = null; DataInputStream ins = null; try { is = ManagerFactory.class.getResourceAsStream( "Indentity.properties"); ins = new DataInputStream(is); prop.load(ins); ROOTORGANAZITION = prop.getProperty("ROOTORGANAZITION", "gmcc"); } catch (IOException ex) { ex.printStackTrace(); } finally { try { if (null != is) is.close(); } catch (IOException e) { } try { if (null != ins) ins.close(); } catch (IOException e1) { } } }
static { init(); } public static String getRootOrgName() { return ROOTORGANAZITION; } }
这时是可以将ROOTORGANAZITION的初始化为 "gmcc"的
但如果把ROOTORGANAZITION的定义放在static块后,那么就不能达到预期效果,这时获得ROOTORGANAZITION=null
但是如果只是声明,不定义,即只是 private static String ROOTORGANAZITION;n那么放在static块前后都是可以的,他都会 是"gmcc"的值,
结论,初始化顺序与定义的位置前后有关
- 类的初始化问题(初始化顺序与定义的位置前后有关)
- C++成员变量的初始化顺序如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。
- 顺序栈的定义与初始化
- 有关类的初始化问题
- 有关类的初始化问题
- 类初始化的顺序问题
- c 代码定义的位置与初始化关系
- 有关初始化的一些问题
- 有关默认初始化的问题
- 类的初始化顺序
- 类的初始化顺序
- 类的初始化顺序
- 类的初始化顺序
- 类的初始化顺序
- 类初始化的顺序
- 类的初始化顺序
- 类的初始化顺序
- 类的初始化顺序
- 2008-07-03 日志:遭遇VS2008的Bug
- 安装visual studio 2005 SQL SERVER碰到性能计数器的解决办法。
- ORACLE备份
- linux磁带机的使用
- 理解/g->一个正则表达式的范例
- 类的初始化问题(初始化顺序与定义的位置前后有关)
- 初步理解suid与sgid
- 对于find 参数一个错误认识(unix版本问题)
- gzip命令的使用(ZT),一点附加
- 环境变量的一些讨论来自chianunix(自己也有发表哦)
- 如何将子窗口的值传到父窗口去调用
- 菜鸟学项目开发与管理
- [搞笑] 暴强的中英翻译
- IT 学习力的五个层次,看看你在哪一层