Kotlin抽象与接口

Kotlin 抽象与接口

其实在 Kotlin 中继承、接口大部分和 Java 是一样的,但是在语法层面支持是不一样。因为 Kotlin 会有一层语法糖可以很方便高效地声明某个语法,从而让你把更多精力专注在业务逻辑上,而不是语法代码模板上。然后我们还会一起来聊下 Kotlin 多继承的实现,Kotlin 和 Java 一样都是单继承,这一点是毋庸置疑的,但是我们也会需要多继承场景,那么 Kotlin 是怎么解决这样场景的呢?大家肯定想到的是接口多继承,具体怎么一起来看看吧。

1. 抽象与接口

与 Java 一样的是 Kotlin 也是使用 abstract 和 interface 来分别声明抽象类和接口,除此之外 Kotlin 的接口内部还支持非抽象方法的实现 (这一点和 Java8 中 default 方法很类似),但是需要注意内部不能包含任何的状态 (纯函数的形式)。

1.1 抽象类声明

在 Kotlin 中抽象类的声明使用 abstract 关键字,抽象类中方法使用 abstract 声明抽象方法。

//以Random.kt源码为例
public abstract class Random {//使用abstract关键声明一个抽象类Random
    public abstract fun nextBits(bitCount: Int): Int //与Java一样使用abstract声明一个抽象类中抽象方法,所以子类必须要实现该方法
    
    public open fun nextInt(): Int = nextBits(32)//open表示这个类可以被子类重写

    public fun ne
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值