相关疑难解决方法(0)

用Enum实现Singleton(用Java)

我已经读过可以Singleton使用以下方法在Java中实现Enum:

public enum MySingleton {
     INSTANCE;   
}
Run Code Online (Sandbox Code Playgroud)

但是,上面的工作如何?具体而言,Object必须实例化.在这里,如何MySingleton被实例化?谁在做什么new MySingleton()

java singleton enums design-patterns

165
推荐指数
6
解决办法
11万
查看次数

静态变量初始化的顺序,Java

可能重复:
Java静态类初始化
按什么顺序执行的类中的静态块和静态变量?

当我运行这段代码时答案是1,我认为它将是2.初始化的顺序和每一步中k的值是多少?

public class Test {

static {k = 2;}
static int k = 1;

public static void main(String[] args) {
    System.out.println(k);
}
}
Run Code Online (Sandbox Code Playgroud)

编辑1:作为"k设置为默认值"的后续内容,为什么下一个代码不能编译?这是一个错误"无法在定义之前引用字段".

public class Test {

static {System.out.println(k);}
static int k=1;

public static void main(String[] args) {
    System.out.println(k);
}
}
Run Code Online (Sandbox Code Playgroud)

编辑2:对于一些我不知道的原因,当^而不是"k"它的"Test.k"时它起作用.

感谢所有的答案.这将是完美的:D

java static

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

design-patterns ×1

enums ×1

singleton ×1

static ×1