Kotlinベース(4)-インタフェース
1468 ワード
前言
ここではkotlinにおけるインタフェースの使用について簡単に説明します
インタフェースの定義
テスト結果
Kotlinのインタフェース定義はJavaのインタフェース定義と似ており,Kotlinのインタフェースには実現方法がある.
インタフェースメソッド名の競合
クラスに複数のインタフェースが実装されているが、インタフェース内のメソッド名が競合している場合、クラスがどのインタフェースを実行しているか分からない可能性があります.Kotlinはこの問題を解決するためにsuperを導入した.xxxのメソッド呼び出しがどのインタフェースのメソッドであるかを宣言する
テスト結果
以上がKotlinインタフェースのすべてです
ここでは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インタフェースのすべてです