Kotlinベース(4)-インタフェース

1468 ワード

前言
ここではkotlinにおけるインタフェースの使用について簡単に説明します
インタフェースの定義
interface  A{
    fun getNum():Int

    fun defaultImple(){
        println("      ")
    }
}


class AImpl() :A{
    override fun getNum(): Int {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }
    
}


  var aImpl=com.zhqy.javademo.AImpl();
        aImpl.defaultImple()
        println(aImpl.getNum())


テスト結果
11-01 17:33:28.059 12496-12496/? I/System.out:       
11-01 17:33:28.059 12496-12496/? I/System.out: 100

Kotlinのインタフェース定義はJavaのインタフェース定義と似ており,Kotlinのインタフェースには実現方法がある.
インタフェースメソッド名の競合
クラスに複数のインタフェースが実装されているが、インタフェース内のメソッド名が競合している場合、クラスがどのインタフェースを実行しているか分からない可能性があります.Kotlinはこの問題を解決するためにsuperを導入した.xxxのメソッド呼び出しがどのインタフェースのメソッドであるかを宣言する
interface  A{
    fun getNum():Int

    fun defaultImple(){
        println("  A     ")
    }
}

interface  B{
    fun getNum():Int

    fun defaultImple(){
        println("  B     ")
    }
}


class AImpl :A,B{
    override fun defaultImple() {
       //                   ,    A     
        super.defaultImple()
}
override fun getNum(): Int {
return 100;
}
}

テスト結果
11-01 17:41:08.836 12641-12641/? I/System.out:   A     
11-01 17:41:08.836 12641-12641/? I/System.out: 100

以上がKotlinインタフェースのすべてです