对比Java学Kotlin抽象类

Posted 陈蒙_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对比Java学Kotlin抽象类相关的知识,希望对你有一定的参考价值。

我们先来回忆一下 Java 的抽象类的知识点:

  • 类名称前有 abstract 关键字修饰;
  • 类里面有0个或多个 abstract 修饰的方法;
  • abstract 修饰的方法不能有方法体;
  • 由于不能直接被实例化,所以不能有构造方法;
  • 可以有普通的成员变量,区别于接口只能有常量类型的成员变量;

类似的,kotlin 的抽象类的类名和0个或多个方法名也是由 abstract 关键字修饰,同时 asbtract 关键字前的 open 修饰符可以被省略掉。值得注意的是,我们可以用抽象方法重写非抽象基类的非抽象方法:

open class Polygon {
    open fun draw() {}
}

abstract class Rectangle : Polygon() {
    abstract override fun draw()
}

以上是关于对比Java学Kotlin抽象类的主要内容,如果未能解决你的问题,请参考以下文章

对比Java学Kotlin抽象类

对比Java学Kotlin枚举

对比Java学Kotlin枚举

对比Java学Kotlin枚举

对比Java学Kotlin接口

对比Java学Kotlin接口