Java类初始化问题

需要在一个单例模式类里初始化另外一个类,只是让另外一个类初始化,不做任何操作,请问用new方式而不赋给另外一个值,会不会造成单例模式类永久持有新new的类?大家只需要初始化一个类而不用操作都是怎么做的呢?谢谢啦!
[code="java"]
public class TestA {
private static Test instance;

private TestA {
    [color=red]new TestB(); //这里[/color]    
}

public static TestA getInstance() {
    if(instance == null) {
        instance = new TestA();
    }
    return instance;
}

}

class TestB {
public TestB {
//blablabla
}
}
[/code]

[quote]
只是要通过类B初始化一些环境
[/quote]
如果你只是想通过new testB() 来初始化一些所谓的环境变量(这个变量最好不是在b中的,而是在系统中的)那是可以的,但是单例类并不会持有改对象。

:o 不操作模拟初始化做什么。申明不就行了。等到要操作的时候再初始化。

这个是有问题的,
[quote]private TestA {

new TestB(); //这里[/color]

} [/quote]
这里是一个匿名变量,这句执行完之后该对象即被垃圾回收了,
可以这个样子:
[code="java"]
private static TestB testB = new TestB();

[/code]
这样就可以永久持有了。

“需要类B初始化一些环境,并不需要对它操作。” :o
那更不明白了。
new 能初始化B。但是你又想在内存中B对象不要一直存在?而B的环境存在?不知道是不是?

[code="java"]public class TestA {

private static final Test instance=new TestA();

private TestA {   
    new TestB(); //    单例类不会持有新new的类 
}   

public static TestA getInstance() {   
    return instance;   
}   

} [/code]

:o 那你把那些赋值写到static 方法,这边调一下不就行了。