Kotlin(八) 数据类、单例

目录

一:创建数据类

二:单例类


一:创建数据类

和Java的不同,kotlin的数据类比较简单,New→Kotlin File/Class,在弹出的对话框中输入“Book”,创建类型选择“Data”。如图:

Kotlin(八) 数据类、单例_第1张图片

然后编写如下代码:

只需要一行代码就可以实现了!神奇的地方就在于data这个关键字,当在一个类前面声明了data关键字时,就表明你希望这个类是一个数据类,Kotlin会根据主构造函数中的参数帮你将equals()hashCode()toString()等固定且无实际逻辑意义的方法自动生成,从而大大减少了开发的工作量。

另外,当一个类中没有任何代码时,还可以将尾部的大括号省略。

下面我们来测试一下这个数据类,在main()函数中编写如下代码:

Kotlin(八) 数据类、单例_第2张图片

运行结果:

Kotlin(八) 数据类、单例_第3张图片

二:单例类

单例模式,是最常用、最基础的设计模式之一,它可以用于避免创建重复的对象。比如我们希望某个类在全局最多只能拥有一个实例,这时就可以使用单例模式。

相对于Java的复杂单例创建模式,Kotlin就相对简单多了,它和数据类差不多,只需要把创建的类的 class 改成  object 即可,如图:

Kotlin(八) 数据类、单例_第4张图片

调用:

结果:

Kotlin(八) 数据类、单例_第5张图片

可以看到,在Kotlin中我们不需要私有化构造函数,也不需要提供getInstance()这样的静态方法,只需要把class关键字改成object关键字,一个单例类就创建完成了。而且调用也很方便,类似于Java的静态方法调用就可以。

虽然看上去像是静态方法的调用,但其实Kotlin在背后自动帮我们创建了一个Singleton类的实例,并且保证全局只会存在一个Singleton实例。

你可能感兴趣的:(Kotlin学习之路,kotlin,android,java,android,studio,开发语言)