Kotlin 单例模式

实现单例模式

Kotlin引入了一个叫做object的类型,可以用同实现单例模式。

1
2
3
4
5
6
7
8
object SimpleSington {
fun test() {}
}
//在Kotlin里调用
SimpleSington.test()

//在Java中调用
SimpleSington.INSTANCE.test();

上面的方式,充分利用了kotlin的语法糖,具体实现的代码可以参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
//  饿汉式
public final class SimpleSington {
public static final SimpleSington INSTANCE;

private SimpleSington() {
INSTANCE = (SimpleSington)this;
}

static {
new SimpleSington();
}
}