美文网首页Android知识Android开发Kotlin
Kotlin学历之抽象类与接口

Kotlin学历之抽象类与接口

作者: i校长 | 来源:发表于2017-06-13 09:44 被阅读306次

    简述

    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")
         }
    }

    接口不可以有构造函数

    编译器提示接口不能有构造函数,再看一张图:

    接口继承

    上面是我继承接口后编译器让我覆盖的结果,可以判断出:

    Kotlin 接口中函数可以有默认实现,也可以没有
    Kotlin 接口允许存在抽象变量
    Kotlin 接口的属性只能是抽象的,因为子类必须实现

    抽象类与接口就先学到这,有任何疑问请留言与我联系,下次学习可见性修饰符public、private等。进入下一章节

    相关文章

      网友评论

        本文标题:Kotlin学历之抽象类与接口

        本文链接:https://www.haomeiwen.com/subject/fwtlqxtx.html