日期:2014-05-20  浏览次数:20715 次

关于Java的创建实例初始化的问题
由于要修改一个很庞大项目中的一些用findbugs找出来的错误。
其中有一个很大的问题就是初始化的问题,如:
classic MyClass extends MyParentClass{
  Class_A instance;
  ............
  ..........
}


现在问题就是说我的instance是unwritten field,亦即没有进行初始化和写操作。但这个问题必须解决,而且可以解决。

首先这个项目没有使用工厂模式,而且类的继承与实现接口相当常见。
我本来想直接用new创建一个实例就可以直接了事,但我对Java的内部运行机制并不了解,比较担心一个问题。在创建一个实例的时候,其父类(的父类.......)中的像什么static,final等变量和方法等也会进行相应的初始化(具体机制不清楚),因此不确定是否会因这些原因而造成错误或不安全因素。
所以我想问一下各位大虾们一下具体细节,这样做是否可行?当然如果能有好的方法能解决这个初始化问题也行


------解决方案--------------------
楼主可以看看这个帖子,内容相关:http://topic.csdn.net/u/20100328/16/1936dd8e-eb3c-402f-9dfd-fdb9882f77ab.html