JAVA-インターフェイスと継承(11)のデフォルトメソッド

デフォルトの方法は何ですか

デフォルトのメソッドはJDK8の新機能です。つまり、抽象メソッドしか提供できない以前とは異なり、インターフェイスは特定のメソッドも提供できます。

Mortalインターフェースは、実装本体を持ち、デフォルトとして宣言されているデフォルトのメソッドreviveを追加します

package charactor;
 
public interface Mortal {
    
    
    public void die();
 
    default public void revive() {
    
    
        System.out.println("本英雄复活了");
    }
}

デフォルトのメソッドがあるのはなぜですか

デフォルトのメソッドのようなメカニズムがないと仮定して、Mortalに復活する新しいメソッドを追加する場合は、Mortalインターフェイスを実装するすべてのクラスを変更する必要があります。

ただし、デフォルトのメソッドを導入した後は、元のクラスを変更する必要はなく、デフォルトのメソッドを取得できます。

これにより、元のクラスに影響を与えることなく、新しいクラスを適切に拡張できます。

演習-デフォルトのメソッド⭐⭐⭐⭐
デフォルトのメソッドattack()をADインターフェースに追加し、デフォルトのメソッドattack()を
APインターフェースに
追加します。Q:ADAPHeroはADインターフェースとAPインターフェースの両方を実装するため、ADAPHeroオブジェクトがattack()を呼び出すと、attack()のどのインターフェースが呼び出されますか?

回答:エラーを直接報告してください
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_17802895/article/details/108694885