来自Kotlin的Any的显式继承 - 可以和它是如何完成的?

Sco*_*ter 3 kotlin

Kotlin文件说明了这一点

Kotlin中的所有类都有一个共同的超类Any,这是一个没有声明超类型的类的默认超类

如果我尝试显式继承Any:

class MyClass : Any {

}
Run Code Online (Sandbox Code Playgroud)

编译器给出错误:

Kotlin:这种类型有一个构造函数,因此必须在这里初始化

我无法找到Any类的文档.是否有可能明确地从Any继承,如果是,那么你传递了什么?

And*_*lav 7

您必须显式调用构造函数:

class MyClass : Any()
Run Code Online (Sandbox Code Playgroud)

Any的构造函数没有参数,因此调用它只需提供空括号


小智 5

如果我们扩展一个类,我们需要添加括号(对于隐式构造函数)

class MyClass : Any()
Run Code Online (Sandbox Code Playgroud)

这与调用类似

   class MyClass extends Any
    {
      MyClass()
      {
        super();
      }
   }
Run Code Online (Sandbox Code Playgroud)

但是如果我们实现一个接口(接口没有构造函数),语法应如下所示

  class MyClass : BaseInterface
Run Code Online (Sandbox Code Playgroud)