Kotlin – 什么是没有身体的阶级的使用?

在Kotlin中,头部和身体都是可选的; 如果班级没有身体,可以省略花括号。

所以我们可以定义类,

class Empty 

这种类的用途是什么?

您可以将其用于一些自定义例外:

 class Empty : Exception() 

或作为标记界面 :

 interface Empty 

或者作为一个数据类 :

 data class Empty(val s: String) 

或作为标记注释 :

 annotation class Empty 

这是一个很好的文章阅读。

Kotlin允许声明任何类型的身体,例如:

 interface Interface; class Class; annotation class Annotation; sealed class SealedClass; data class DataClass(var value: String); object ObjectClass; enum class EnumClass; class CompanionClass { companion object } 

每个定义的用法可以描述如下:

  • 界面 – 作为标记界面 。
  • 注释 – 描述注释类型有一定的能力。 例如:junit4 @Before@After注释。
  • 对象 – 它通常以令牌或锁或占位符和.etc的形式出现。 例如: synchronized(lock){ /*thread safe working*/ }
  • 数据类 – 快速定义一个java的POJO类与getterssetters ? , equalshashCodetoStringcomponentN操作符在kotlin中进行解构。
  • 别人 – 他们没有意义,只是语言的语法。