generics - 在 Kotlin 中,如何判断 ":"是表示扩展还是返回?

标签 generics kotlin

Java 在这方面更明确一些,但是在学习 Kotlin 时是否有一个经验法则可以知道何时 :表示它正在返回一些东西,而不是它正在扩展一个类?

例子:

data class SlothGeneric(
    val slothName: String,
    val isTwoFingered: Boolean,
    var slothWeight: Int
): Mammal(slothName)

我们如何知道这个类 SlothGeneric正在返回 Mammal类,或者它是否正在扩展它?

最佳答案

类不能返回任何东西(只有它们的函数可以),所以当你看到分号 : 时在类定义上,这意味着 extends/implements .

另一方面,函数不能扩展或实现任何东西,但可以有返回类型,所以分号 :表示函数定义中的返回类型。

关于generics - 在 Kotlin 中,如何判断 ":"是表示扩展还是返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55873264/

相关文章:

java - 单个泛型参数同时接受两种不同类型

在 C 中使用 typedef 创建泛型

android - 尽管对象存在 Kotlin\Room,SELECT 查询返回 null

java - Kotlin 接口(interface)上的 lambda 表达式

android - @Parcelize 注解和继承

java - 如何替换字符串中的指定空格?

android - Android Studio无法向布局添加元素

java - 列表<? super B> lsb = new ArrayList<A>(); Java中的逻辑错误?

c# - 需要帮助实现接口(interface)

java - Java Comparator接口(interface)的使用 - 对文件进行排序