Kotlin学历之抽象类与接口

简介: Kotlin学历之抽象类与接口

简述


Kotlin 中的抽象类和接口与 Java 8 类似,同样用到abstractinterface关键字,java7以及之前最大的不同就是Kotlin的接口是可以有实现的。

抽象类


抽象类的格式如下:

abstract class 抽象类名[(主构造函数)][: 继承父类和实现接口] {……}

例:声明一个抽象的Person类,一个主构造函数,一个name属性。

abstract class Person(val name : String) { }

注意:即使不用 open 关键字修饰,抽象类也是可以被继承的,想想也很容易明白,因为抽象类本来就是用来继承的,所以就可以省略open关键字。

接口


接口类的格式如下:

interface  接口类名[: 继承的接口] {……}

例:声明一个接口A,一个接口B,B继承A

interface A
interface B : A

在Kotlin中的接口可以有自己的实现,例如:

interface KotlinInterface{
     var prop:Int
     fun foo(prop:Int)
     fun bar(){
          println("bar")
     }
}

image.png

接口不可以有构造函数

编译器提示接口不能有构造函数,再看一张图:

image.png

接口继承

上面是我继承接口后编译器让我覆盖的结果,可以判断出:

Kotlin 接口中函数可以有默认实现,也可以没有

Kotlin 接口允许存在抽象变量

Kotlin 接口的属性只能是抽象的,因为子类必须实现

抽象类与接口就先学到这,有任何疑问请留言与我联系,下次学习可见性修饰符public、private等。进入下一章节

目录
相关文章
|
1月前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
|
23天前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
24 2
|
28天前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
29 6
|
1月前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
66 9
|
1月前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
52 5
|
1月前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
21 5
|
1月前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
|
1月前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
15 0
|
Kotlin
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(二)
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(二)
295 0
|
Java Kotlin
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(一)
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(一)
185 0