前言:本教程最好在有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 |
---|---|---|
public |
所有类可见 | 所有类可见(默认) |
private | 当前类可见 | 当前类可见 |
protected | 当前类、子类、同一包路径下的类可见 | 当前类、子类可见 |
default | 同一包路径下的类可见(默认) | 无 |
internal | 无 | 同一模块中的类可见 |
如果喜欢这个系列的话,不妨点个关注吧!感谢您的观看!
参考:
《第一行代码 Android (第三版)》 ---郭霖