2
説明:here:インターフェイス内の関数にボディがない場合、デフォルトでは抽象です。しかし、身体とのインターフェースの機能については何もありません。本文を持つ抽象メソッド
例:
interface MyInterface {
fun foo() { print("Something") }
fun bar()
}
fun main(args: Array<String>) {
println(MyInterface::foo.javaMethod)
println(MyInterface::bar.javaMethod)
}
出力は次のようになります。
それが可能だどのようにpublic abstract void MyInterface.foo()
public abstract void MyInterface.bar()
、定義されたボディと、そのメソッドは抽象的ですか?
コンパイラがJava 8をターゲットにしていても同じですか?その場合、デフォルトメソッドとしてfoo()を定義していますか? –
OOPについての多くの書籍は、抽象メソッドは宣言されているが実装は含まれていないメソッドであると書いています。説明をありがとう! – jQuick
私が知る限り、同じ内部クラスのソリューションがJava 8ターゲットでも使用されています。組み込みデコンパイラとJD-GUIの両方でそれを見てください。 – zsmb13