public enum YourSingleton {
INSTANCE;
public void doStuff(String stuff) {
System.out.println("Doing " + stuff);
}
}
YourSingleton.INSTANCE.doStuff("some stuff");
Run Code Online (Sandbox Code Playgroud)
这是最初的链接, http://electrotek.wordpress.com/2008/08/06/singleton-in-java-the-proper-way/
我在问为什么我们可以在Java中以这种方式调用函数doStuff.
在Java中,enum可以做任何class可以[1].YourSingleton.INSTANCE创建一个实例YourSingleton,然后你可以调用方法,就好像它是一个常规class实例,它基本上是.
有关枚举类型的更深入讨论,请参阅官方Java文档:http://download.oracle.com/javase/tutorial/java/javaOO/enum.html
[1] enum没有实际的继承实现.由于所有enum类型都隐含继承java.lang.Enum而Java不支持多重继承,因此您无法扩展其他任何内容.
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |