Kotlin笔记(21) — 接口

前言

在上一节中,我们介绍了抽象类的使用,本节让我们来学习下接口的使用。

今天要介绍的内容有:

  1. 接口介绍
  2. 接口的使用
    2.1 接口中的抽象方法
    2.2 接口中的实体方法
    2.3 接口中的属性

一. 接口介绍

Javakotlin的开发中,都遵循一个原则,那就是:单继承。但是为了实现 "多继承" 效果,于是便有了接口的定义。在kotlin中,接口也是能多继承的。声明一个接口类的关键字仍然为interface,
接口与抽象类一样,都是默认为open类型,所以它们在类声明前不需要加open关键字修饰。
kotlin中的接口具有以下特征:

  • 实现接口或接口的继承都用符号:(kotlin中无extendimplement关键字)
  • 接口不能定义构造函数
  • 接口内部的需要被重写的方法都默认是抽象类型
  • 接口中可以存在某个已经被实现的方法(在Java中不行),且此方法默认为open类型
  • 接口类中允许声明抽象属性,实现该接口的类必须重载该属性。抽象属性前的openabstract关键字也可以省略。

二. 接口的使用

2.1 接口中的抽象方法

接口中的抽象方法,作为其实现类,需要去重写接口中的抽象方法,实例如下:

//接口类
interface Dog {
    
    //open修饰可省略
    fun getTest():String
}

继承该接口的类DogTwo:

class DogTwo : Dog {

    override fun getTest(): String {
       return "此处为重写方法"
    }

}

因为接口中无构造函数一说,所以,接口的继承是实现类名 :接口类名的形式,结尾没有()。然后由于接口Dog中的方法getTest()是抽象方法,所以作为实体类的DogTwo必须重写该方法。

2.2 接口中的实体方法

kotlin中一个重要变化是接口可以包含实体方法。且接口中所有方法都默认是open的,所以该接口的实现类可重写接口中的实体方法,示例如下:

你可能感兴趣的:(Kotlin笔记(21) — 接口)