Android篇——Kotlin
1.想必你一定听过单例模式吧,这是最常用 最基础的设计模式之一,它可以用于避免创建重复的对象。比如我们希望某个类在全局最多只能用有一个实例,这时候就可以使用单例模式。当然单例模式也有很多种写法,这里就演示一种最常见的Java写法吧。
2.这段代码其实很好理解,首先为了禁止外部创建Singleton的实例,我们需要用private关键字将Singleton的构造函数私有化,然后给外部提供一个getInstance()静态方法用于获取Singleton的实例。在getInstance()方法中,我们判断如果当前缓存的Singleton的实例为null,就创建一个新的实例,否则直接返回缓存的实例即可,这就是单例模式的工作机制。
3.在Kotlin中创建一个单例类的方式极其简单,只需要将class关键字改成object关键字即可。
4.现在Singleton就已经是一个单例类了,我们可以直接在这个类中编写需要的函数,比如加入一个singletonTest()函数。
5.可以看到,在Kotlin中我们不需要私有化构造函数,也不需要提供getInstance()这样的静态方法,只需要把class关键字改成object关键字,一个单例类就创建完成了。而调用单例类中的函数也很简单,Singleton.singletonTest()即可。
6.这种写法虽然看上去像是静态方法的调用,但其实Kotlin在背后自动帮我们创建了一个Singleton类的实例,并且保证全局只会存在一个Singleton实例。