前言
在上一节中,我们介绍了抽象类
的使用,本节让我们来学习下接口
的使用。
今天要介绍的内容有:
- 接口介绍
- 接口的使用
2.1 接口中的抽象方法
2.2 接口中的实体方法
2.3 接口中的属性
一. 接口介绍
Java
与kotlin
的开发中,都遵循一个原则,那就是:单继承。但是为了实现 "多继承" 效果,于是便有了接口
的定义。在kotlin
中,接口也是能多继承的。声明一个接口类的关键字仍然为interface
,
接口与抽象类一样,都是默认为open
类型,所以它们在类声明前不需要加open
关键字修饰。
在kotlin
中的接口
具有以下特征:
- 实现接口或接口的继承都用符号
:
(kotlin中无extend
和implement
关键字) - 接口不能定义构造函数
- 接口内部的需要被重写的方法都默认是抽象类型
- 接口中可以存在某个已经被实现的方法(在
Java
中不行),且此方法默认为open
类型 - 接口类中允许声明抽象属性,实现该接口的类必须重载该属性。抽象属性前的
open
和abstract
关键字也可以省略。
二. 接口的使用
2.1 接口中的抽象方法
接口中的抽象方法,作为其实现类,需要去重写接口中的抽象方法,实例如下:
//接口类
interface Dog {
//open修饰可省略
fun getTest():String
}
继承该接口的类DogTwo
:
class DogTwo : Dog {
override fun getTest(): String {
return "此处为重写方法"
}
}
因为接口
中无构造函数
一说,所以,接口的继承是实现类名 :接口类名
的形式,结尾没有()
。然后由于接口Dog
中的方法getTest()
是抽象方法,所以作为实体类的DogTwo
必须重写该方法。
2.2 接口中的实体方法
在kotlin
中一个重要变化是接口可以包含实体方法
。且接口中所有方法都默认是open
的,所以该接口的实现类可重写接口中的实体方法,示例如下:
网友评论