抽象类和接口很类似,抽象类不能被实例化需要使用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声明,因为抽象类本身就是可继承的

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2022-02-11
  • 2021-07-21
猜你喜欢
  • 2021-06-14
  • 2021-08-16
  • 2022-12-23
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案