Kotlin - 没有身体的课程有什么用?

时间:2017-06-28 11:50:39

标签: kotlin kotlin-android-extensions

在Kotlin中,标题和正文都是可选的;如果类没有主体,可以省略花括号。

所以我们可以定义类,

class Empty

这类课程的用途是什么?

2 个答案:

答案 0 :(得分:11)

您可以将它用于某些自定义例外:

class Empty : Exception()

marker interface

interface Empty

data class

data class Empty(val s: String)

marker annotation

annotation class Empty

这是一个很好的post阅读。

答案 1 :(得分:3)

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

<img style=" float:left: display:inline" src="images3/RightSpace.png" width="1146" height="58" alt="SidebarSpace">

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

  • interface - 作为marker interface
  • 注释 - 描述注释类型具有一定的能力。例如:junit4 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 } @Before注释。
  • object - 它通常作为令牌或锁或占位符和.etc出现。例如:@After
  • 数据类 - 使用synchronized(lock){ /*thread safe working*/ }getters快速定义一个java POJO类? ,settersequalshashCodetoString运算符,用于在kotlin中进行解构。
  • 其他人 - 他们没有意义,只是语言语法。