kotlin エラー「error: class ‘xxx’ is not abstract and does not implement abstract base class member public abstract fun x(): Unit defined in xxx」の解決方法

kotlin エラー「error: class ‘xxx’ is not abstract and does not implement abstract base class member public abstract fun x(): Unit defined in xxx」の解決方法

kotlinで、エラー「error: class ‘xxx’ is not abstract and does not implement abstract base class member public abstract fun x(): Unit defined in xxx」の解決方法を記述してます。

環境

  • OS windows11 home
  • java 17.0.2
  • kotlin 1.6.10-release-923

エラー全文

以下のコードで発生。

abstract class Oya {

    abstract fun f()
    abstract fun m() 

}

class Ko() : Oya() {

    override fun f() { println("hello") }

}

fun main(){

    val ko = Ko()
    ko.f() // hello

}

エラーメッセージ

error: class 'Ko' is not abstract and does not implement abstract base class member public abstract fun m(): Unit defined in Oya
class Ko() : Oya() {

原因

「抽象クラス」で定義しているメソッドを使用していないため

対処法

メソッドを削除するか定義する

abstract class Oya {

    abstract fun f()
    abstract fun m() 

}

class Ko() : Oya() {

    override fun f() { println("hello") }
    override fun m() { println("world") }

}

fun main(){

    val ko = Ko()
    ko.f() // hello

}