Kotlin入门笔记(六)接口 与 函数可见性修饰符

前言:本教程最好在有JAVA的基础下进行学习

一、接口

Kotlin的接口与Java几乎完全一致

定义一个接口:

interface Study{
    fun readBooks()
    fun doHomework()
}

用Student实现这个接口:

class Student(name : String , age : Int) :  Study {
    override fun readBooks() {
        println(name + " is reading.")
    }
    override fun doHomework(){
        println(name + " is doing homework.")
    }
}

熟悉 Java 的人一定指定,Java 的继承用的 extends  ,实现接口用的是 implements  ,而 Kotlin 统一使用 :  (冒号)

现在我们可以再 main() 函数中编写如下代码来调用这两个接口中的函数

fun main() {
    val student = Student("Jack",19)
    doStudy(student)
}
fun doStudy(study : Study) {
    study.readBooks()
    study.doHomework()
}

不过 Kotlin 还增加了一个功能:

        允许对接口中定义的函数进行默认实现。

话不多说,上代码:

interface Study {
    fun readBooks()
    fun doHomework() {
        println("do homework default implementation.")
    }
}

 这时会发现,Student 只会强制要求实现 readBooks 一个函数了。

二、函数的可见性修饰符

默认修饰项:

               Java :  default

               Kotlin : public

Kotlin 抛弃了Java 中的 default ,引入了新的概念:internal ,表示只对同一模块的类可见。 protected 在 Java 与 Kotlin 中也有所不同,具体可见下表:

Java 与 Kotlin 函数可见性修饰符对照表
修饰符JavaKotlin

public

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

如果喜欢这个系列的话,不妨点个关注吧!感谢您的观看!

参考:

        《第一行代码 Android (第三版)》   ---郭霖

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值