前言
在学完kotlin的基本语法之后,大部分同学开始尝试用kotlin实现单例模式,今天我们就来看看kotlin可以怎么实现单例。通常java中写单例方式非常多,如:懒汉,饿汉,静态内部类,枚举,双重校验锁等等,然而在kotlin里实现单例模式就比java简单很多,甚至一行代码就能实现单例模式。
实现
单例1
object Singleton
一行代码就可以搞定一个单例,初学者看到这里估计会一脸懵逼,这不就是kotlin里面定义的一个对象么?关键是它就是类似java中懒汉式单例的一个对象,不信我们来看看kotlin团队是怎么生成的这个对象(菜单Tools > Kotlin > Show kotlin Bytecode > Decompile ):
public final class Singleton {
public static final Singleton INSTANCE; private Singleton() { INSTANCE = (Singleton)this; } static { new Singleton(); } }
So ga!是不是和java中的懒汉模式单例的实现方式一样。
单例2
class Singleton private constructor() { compa