当前位置: 首页 > 知识库问答 >
问题:

科特林-没有身体的课堂有什么用?

尚宏硕
2023-03-14

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

所以我们可以像这样定义类,

class Empty

这种类型的课有什么用?

共有2个答案

赏光霁
2023-03-14

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
}

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

    < li >接口-作为标记接口。 < li>annotation -描述被注释类型具有的某种能力。例如:junit4 @Before和< code>@After注释。 < li >对象-它通常以令牌、锁或占位符等形式出现,例如:< code > synchronized(lock){/*线程安全工作*/ } < li >数据类-使用< code > getter 、< code > setter 快速定义java POJO类?、< code>equals、< code>hashCode、< code>toString和< code>componentN运算符,用于kotlin中的析构。 < li >其他-它们没有意义,只是语言语法。
艾茂学
2023-03-14

您可以将其用于某些自定义异常:

class Empty : Exception()

或者作为标记接口:

interface Empty

或者作为数据类:

data class Empty(val s: String)

或作为标记注释:

annotation class Empty

~这是一篇值得阅读的好文章。

 类似资料:
  • Scala在Predef中有一个通用的函数: Kotlin 在标准库中是否有类似的功能?当然,我可以简单地使用 来代替,但我发现更容易阅读,并且实例化所有这些 lambda 有点浪费。 我必须能够在函数

  • 我对科特林是新来的。我想知道下面代码中这两个和之间的区别。 下面有两个片段:第一个片段使用表示,另一个片段使用表示相同的变量。

  • 我有一个枚举类角色类型 在我的实体类中,我有枚举集合的以下映射。这是代码: 我将这个用户实体类转换为Kotlin,下面是代码: 转换后,hibernate抛出以下异常: 它以前在Java工作得很好。 我还尝试在中添加,如下所示: 但这也是另一个例外。 注意:如果我将角色的修饰符从var改为val,它可以工作,但我需要它是一个可变类型。我不理解字段的易变性如何在hibernate中产生问题。 注意:

  • 因为我是在中配置序列化程序的,所以我不能在构造函数参数中传递。

  • 问题内容: 我正在阅读该package的代码,然后想知道其工作原理。 我发现代码如下: 因此,我找到了- 的定义,因为它没有函数体,这很奇怪。 我想知道: 真正的代码在哪里 为什么这里可以存在“抽象方法” 为什么Go的作者这样写 谢谢! 问题答案: 1)函数定义在这里: 2)函数声明: 函数声明可以省略主体。这样的声明为Go外部实现的功能(例如汇编例程)提供了签名。 3)并非每种编程语言都可以完全

  • 不知道这是什么意思,但我在kotlin html代码库中遇到了这种语法。SCRIPT.()是什么意思? https://github.com/Kotlin/kotlinx.html/blob/master/shared/src/main/kotlin/generated/gen-tag-unions.kt#L143 剧本是一种https://github.com/Kotlin/kotlinx.ht