Kotlin 知识点总结:类、继承、重构、构造函数、接口

发布网友

我来回答

1个回答

热心网友

接口

在 Kotlin 中,接口的声明默认都是 final 和 public 的,这与 Java 有所不同。Kotlin 中的接口与 Java 1.8 接口相似,可以包含抽象方法的定义和非抽象方法的实现。使用“:”代替了 Java 中的 extends 和 implements,Kotlin 是单继承的,但可以实现多个接口。实现接口时,可以继承该接口的方法并进行修改,当然也可以不实现该方法。如果分别继承两个接口,且两个接口有相同的默认实现函数,如果不显式指明调用哪一个,运行时会报错。解决方法是在函数中指明引用,例如 super< AInterface >.click(); super< BInterface >.click();,这在 Java 中的表达方式则为 AInterface .super.click();。

继承

在 Kotlin 中,方法默认都是 final 的,如果需要子类继承,需特地标记 open 修饰符。实现基类方法或接口方法默认是 open 的,若希望改变,可添加 final 修饰符。所有类默认超类为 Any,这对于没有超类型声明的类是默认超类。

抽象

理解 abstract 是关键,其他部分与 Java 的实现相似,这里不详细赘述。

重载函数

在 Kotlin 中,由于没有默认值参数的概念,需要在调用 Java 中的重载函数时显式指定所有参数值。为了解决这个问题,Kotlin 提供了 @JvmOverloads 注解,生成多个重载方法供 Java 调用。

修饰符

Kotlin 中的修饰符与 Java 的大多数类似,但默认为 public,没有包可见性。新增的修饰符为 internal,表示只在模块内部可用。在 Kotlin 中,public 无法访问 low visibility 的 internal,protected 访问范围在类或子类中,类的扩展函数无法访问 private 和 protected。

嵌套类与内部类

Kotlin 与 Java 一样,允许类中嵌套类,但内部类无法直接访问外部类的属性,除非做了特殊安排。添加 inner 关键字后,内部类可以获取到外部类的引用。



类是 Kotlin 中的重要组成部分。类声明由类名、类头和由花括号包围的类体构成,类头与类体可选。类可以有一个主构造函数以及一个或多个次构造函数。初始化代码可以放在 init 关键字作为前缀的初始化块中。次构造函数需要委托给主构造函数,委托方式为 this 关键字。如果类没有声明任何构造函数,程序会默认生成一个公有主构造函数,若不希望类有公有构造函数,则需声明一个带有非默认可见性的空的主构造函数。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com