huangzuduan 2012-07-29 15:06
浏览 296
已采纳

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

[code="java"]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;
}

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

  • 写回答

2条回答 默认 最新

  • ansj 2012-07-29 21:44
    关注

    1.静态变量的初始化.是类加载的时候就初始化了.所以静态变量只初始化一次

    2.当然是共享.的.因为是一个静态变量.但是静态变量的调用不应该.用obj.value方式调用.
    如果你在eclipse中会报黄.(警告)..正确的调用方法是Mem.data 就是(类名称.变量的方式)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?