一类里有一个静态自己的对象,为什么不会死循环呢?欢迎拍砖!

public class Mem extends ConcurrentHashMap {
private static final long serialVersionUID = 1L;
protected MongoOperations mongoOperations = null;
public static Mem data = new Mem(MongoDb.data);
public Mem(MongoOperations mongoOperations) {
this.mongoOperations = mongoOperations;
}

}

桃花长相依
浏览 542回答 3
3回答

qq_花开花谢_0

编译的时候,不是将静态的都编译好了吗?那再new一个自己,自己里面又有自己,为什么不会是死循环呢,我新手,求解~

MM们

1.静态变量的初始化.是类加载的时候就初始化了.所以静态变量只初始化一次2.当然是共享.的.因为是一个静态变量.但是静态变量的调用不应该.用obj.value方式调用.如果你在eclipse中会报黄.(警告)..正确的调用方法是Mem.data 就是(类名称.变量的方式)

慕盖茨4494581

静态变量是被所有的类共享的 所以所有的new出来的Mem实例共享的只有一个公共的data静态变量作为区别,下面这个例子就会出现死循环public class Mem {public Mem(){new Mem();}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java