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天前
|
Kotlin
Kotlin中抽象类与接口
Kotlin中抽象类与接口
5 0
Android-kotlin-接口与多态的表现,面经解析
Android-kotlin-接口与多态的表现,面经解析
|
10月前
|
Kotlin
Kotlin中接口、抽象类、泛型、out(协变)、in(逆变)、reified关键字的详解
Kotlin中接口、抽象类、泛型、out(协变)、in(逆变)、reified关键字的详解
70 0
|
Java 开发工具 Spring
springBoot搭建自己的第一个接口(kotlin+gradle)
springBoot搭建自己的第一个接口(kotlin+gradle)
227 0
springBoot搭建自己的第一个接口(kotlin+gradle)
|
安全 JavaScript 前端开发
Kotlin 之类和接口
Kotlin 之类和接口
Kotlin 之类和接口
|
Java Kotlin
Kotlin学历之内联函数
Kotlin学历之内联函数
83 0
Kotlin学历之内联函数
|
Kotlin
Kotlin学历之导图
Kotlin学历之导图
69 0
Kotlin学历之导图
|
安全 Android开发 Kotlin
Kotlin学历之Android MVP架构实战
Kotlin学历之Android MVP架构实战
135 0
Kotlin学历之Android MVP架构实战
|
安全 Java 编译器
Kotlin学历之空安全
Kotlin学历之空安全
76 0
Kotlin学历之空安全
|
JSON 安全 Java
Kotlin学历之委托属性
Kotlin学历之委托属性
103 0
Kotlin学历之委托属性