美文网首页
Kotlin-接口

Kotlin-接口

作者: 陈饥饿 | 来源:发表于2022-03-04 09:04 被阅读0次

    1、Java是单继承结构的语言,任何一个类最多只能继承一个父类,但是确可以实现任意多个接口,Kotlin也是如此。

    2、创建方式:右击com.example.helloworld包 -> New -> Kotlin File/Class,在弹出的对话框中输入Study,创建类型选择“Interface”。

    interface Study{

        fun readBooks()

        fun doHomework()

    }

    用Student类去实现Study接口:

    class Student(name: String, age: Int) : Person(name, age), Study{

        override fun readBooks(){

            println(name + " is reading.")

        }

        override fun doHomework(){

            println(name + " is doing homework.")

        }

    }

    3、Java中用继承使用的关键字是extends,实现接口使用的关键字是implements,而Kotlin中统一使用冒号,中间用逗号进行分隔,接口的后面不用加上括号,因为它没有构造函数可以去调用。

    4、Kotlin中使用override关键字来重写父类或者实现接口中的函数。

    5、在main()函数中调用两个接口的函数:

    fun main(){

        val student = Student("Jack", 19)

        doStudy(student) //由于Student类实现了Study接口,因此Student类的实例是可以传递给doStudy()函数的

    }

    fun doStudy(study: Study){

        study.readBooks()

        study.doHomework()//面向接口编程,也可以叫做多态

    }

    6、为了让接口的功能更加灵活,Kotlin中还增加了一个额外的功能:允许对接口中定义的函数进行默认实现:

    interface Study{

        fun readBooks()

        fun doHomework(){//如果接口中的一个函数拥有了函数体,这个函数体中的内容就是它的默认实现

            println("do homework default implementation.")

        }

    }

    当一个类去实现Study接口时,只会强制要求实现readBooks()函数,而doHomework()函数则可以自由选择实现或者不实现,不实现时就会使用默认的实现逻辑。

    相关文章

      网友评论

          本文标题:Kotlin-接口

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