关于以下代码的简单问题:
public class Test {
public final static Test t1 = new Test("test 1");
public final static Test t2 = new Test("test 2");
public final static Test t3 = new Test("test 3");
private String s;
private Test (string s1) {
s = s1;
}
}
我很困惑这段代码是否会创建自身的无限实例?
最佳答案
不,虚拟机不会:“创建无限的自身实例。”
您的静态字段(t1
、t2
和 t3
)将在 Class
上创建一次(每个)级别,而不是实例
级别。
您的 3 个字段将在所有实例之间共享。
关于java - 在类中创建类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15363472/