kotlin中抽象类

抽象类和接口很类似,抽象类不能被实例化需要使用abstract 关键字声明,抽象类实现接口后,接口中没有函数体的函数可以不重写,接口中的这些方法就自动被继承到实现接口的抽象类中,称为抽象方法

package loaderman.demo

open class base{
    open fun fn(){}
}
package loaderman.demo

abstract class Persons :base(){
    override abstract fun fn()

}
package loaderman.demo

open class Person :Persons(){
    override fun fn() {
        println("Person f")
    }

    open var mName: String = "Person name"
    open fun getName(): String {
        println(mName)
        return mName
    }
}
package loaderman

import loaderman.demo.Person


fun main(arg: Array<String>) {

    println(Person().fn())
}

抽象方法不需要使用open声明,因为抽象类本身就是可继承的

原文地址:https://www.cnblogs.com/loaderman/p/10126251.html