💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 类的[继承](https://www.kancloud.cn/alex_wsc/android_kotlin/1318249#_164) 如果在一个类中想要使用已有类中的所有属性或方法,则可以通过将该类继承已有类来实现。类的继承是面向对象中最显著的一个特性,继承是从已有的类中派生出新的类,新的类能够重写已有类的属性和方法,并可以扩展新的功能。在程序中使用类的继承可以很容易地复用之前的代码,从而大大缩短开发周期,降低开发费用。 ## 超级父类Any Kotlin中所有类都继承Any类,它是所有类的父类,如果一个类在声明时没有指定父类,则默认父类为Any类,在程序运行时,Any类会自动映射为Java中的java.lang.Object类。 参考:[根类型“Any”](https://www.kancloud.cn/alex_wsc/android_kotlin/1046286) 通过一个案例来演示在程序运行时Any类的变化, ``` fun main(args: Array<String>) { println(Any().javaClass) } ``` 运行结果 ``` class java.lang.Object ``` 在上述代码中,javaClass属性代表运行时对象的类型,根据程序的运行结果可知,Any类的对象在程序运行时的类型为“java.lang.Object”,即Any类会自动映射为Java中的java.lang.Object类。 在Kotlin中,所有类型都是引用类型,这些引用类型统一继承父类Any,Any类中默认提供了3个方法,分别是equals()、hashCode()和toString(),这3个方法的作用如表所示。 ![](https://img.kancloud.cn/e4/e0/e4e04adf742909298fd563495414203c_1360x233.png) 在Java中,Object类是所有引用类型的父类,但不包括基本类型Int、Long、Double等,Object类中默认提供了11个方法,分别是equals()、hashCode()、toString()、getClass()、clone()、finalize()、notify()、notifyAll()、wait()、wait(long)、wait(long,int),这11个方法的作用如表4-2所示。 * Object类中的方法 ![](https://img.kancloud.cn/45/f3/45f37558a87a570480ffee1e2d2e13aa_1201x642.png)