Kotlin 文档说
Kotlin 中的所有类都有一个共同的超类Any,这是一个没有声明超类型的类的默认超类
如果我尝试从 Any 显式继承:
class MyClass : Any {
}
编译器给出错误:
Kotlin:这种类型有一个构造函数,因此必须在这里初始化
我无法找到 Any 类的文档。是否可以从 Any 显式继承,如果可以,你会传递什么?
Kotlin 文档说
Kotlin 中的所有类都有一个共同的超类Any,这是一个没有声明超类型的类的默认超类
如果我尝试从 Any 显式继承:
class MyClass : Any {
}
编译器给出错误:
Kotlin:这种类型有一个构造函数,因此必须在这里初始化
我无法找到 Any 类的文档。是否可以从 Any 显式继承,如果可以,你会传递什么?
您必须显式调用构造函数:
class MyClass : Any()
Any 的构造函数没有参数,因此调用它只需提供空括号
如果我们正在扩展一个类,我们需要添加括号(用于隐式构造函数)
class MyClass : Any()
这类似于调用
class MyClass extends Any
{
MyClass()
{
super();
}
}
但是如果我们正在实现一个接口(接口没有构造函数),语法应该如下
class MyClass : BaseInterface
如果您有辅助构造函数(关键字constructor
),您可以使用下一个语法
class MyClass : Any {
constructor() : super()
}
如果该类没有主构造函数,则每个辅助构造函数都必须使用 super 关键字初始化基类型,或者委托给执行此操作的另一个构造函数。
在此处阅读更多信息 - https://kotlinlang.org/docs/reference/classes.html
PS您的问题可以使用Android Studio功能轻松解决 -项目快速修复(显示意图操作和快速修复)Win - Alt+ Enter,Mac - Option+Enter