Kotlin之接口

接口是用于实现多态编程的重要组成部分

Kotlin与Java一样,单继承多实现,我们可以在接口中定义一些抽象方法,任何由具体的类去实现

创建Study接口,并添加几个相关函数:

interface Study {
    fun readBook()
    fun doHomeWork()
}

让Student去实现Study接口:

class Student(name: String, age: Int) : Person(name, age), Study {
    override fun readBook() {
        print("$name is reading")
    }

    override fun doHomeWork() {
        print("$name is doing")
    }
}

不同于Java中用extends和implements来完成继承和实现,Kotlin中统一使用冒号,中间用逗号分隔

上述代码表示Student继承了Person类同时实现了Study接口,Study后面不需要加括号,因为他没有构造函数可去调用

Kotlin中使用override关键字来重写或者实现父类的接口中的函数,并且允许对接口中定义的函数进行默认实现(jdk1.8之后也支持这个功能了)

函数的可见性修饰符

修饰符JavaKotlin
public所有类可见所有类可见(默认)
private当前类可见当前类可见
protected当前类、子类和同一包路径下的类可见当前类和子类可见
default同一包路径下的类可见(默认)
internal同一模块中的类可见

Java中的可见性修饰符:public、protected、private和default(什么都不写)

Kotlin中的可见性修饰符:public、private、protected和internal

需要使用哪种修饰符时,直接定义在fun关键字前面即可

private作用相同

public作用相同,但是在Kotlin中是默认项

protected,Java:对当前类、子类和同一包路径下的类可见,Kotlin:只对当前类和子类可见

internal:只对同一模块中的类可见

微信扫描二维码,关注我的公众号
欢迎关注这个不是技术号的公众号,我们聊聊别的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值