ホームページ >Java >&#&チュートリアル >Javaインターフェース構成の更新を実装する方法

Javaインターフェース構成の更新を実装する方法

WBOY
WBOY転載
2023-05-11 22:58:041117ブラウズ

1.1 インターフェース構成の更新の概要

  • インターフェースの構成

    • 定数: public static Final

    • ##抽象メソッド:

      public abstract

    • ##デフォルト メソッド (Java 8)
    • 静的メソッド (Java 8)
    • プライベート メソッド (Java 9)
    1.2 インターフェイスのデフォルトメソッド (JDK8)

クラスがインターフェイスを実装する場合、このインターフェイス内のすべての抽象メソッドを書き直す必要があることは誰もが知っています。しかし、インターフェイスに新しいメソッドが追加されました。このインターフェイスを実装するクラスがこのメソッドをオーバーライドしたくない場合はどうすればよいでしょうか?現時点では、オーバーライドが強制されないデフォルトのメソッドをインターフェイスで使用でき、メソッド本体を提供することもできます。

    インターフェース内のデフォルトメソッドの定義形式:
    • 形式:
    • public デフォルト戻り値型メソッド名(パラメータ リスト ){}

      #例:
    • public default void show(){}
    • # #Interface のデフォルト メソッドに関する注意事項:
  • デフォルト メソッドは抽象メソッドではないため、強制的にオーバーライドされることはありません。ただし書き換えは可能です。書き換える場合は、default キーワードを削除してください
    • public は省略できますが、default は省略できません:

      default void show(){}
    • 1.3 インターフェースの静的メソッド (JDK8)

インターフェースの静的メソッドの定義形式:

  • 形式:
  • public static 戻り値型メソッド名 (パラメータリスト){}
    • 例:

      public static void show( ){ }
    • インターフェイスの静的メソッドに関する注意:
  • 静的メソッドは ## のみを渡すことができます# インターフェイス名は
  • と呼ばれますが、実装クラス名やオブジェクト名では呼び出すことはできません
    • public は省略可能、static は省略できません: static void show(){}

    • インターフェース

    package test;
    
    public interface Inter {
        void show();
    
        default void method() {
            System.out.println("默认方法");
        }
    
    //    public static void test(){
    //        System.out.println("静态方法");
    //    }
    
        static void test(){
            System.out.println("静态方法");
        }
    }
  • #実装クラス

package test;

public class InterImpl implements Inter{
    @Override
    public void show() {
        System.out.println("show方法");
    }
}
  • テスト クラス

package test;

public class Demo {
    public static void main(String[] args) {
        Inter i = new InterImpl();
        i.show(); //show方法
        i.method(); //
//        i.test(); //报错

        Inter.test(); //静态方法,接口名调用静态方法
    }
}
    1.4 インターフェイスのプライベート メソッド (JDK9)
  • メソッドを備えた新しいプライベート メソッドボディは Java 9 で追加されます。これは実際には、Java 8 で伏線が張られていました。Java 8 では、デフォルトのメソッドと、メソッド本体を持つ静的メソッドをインターフェイスで定義できます。これにより問題が発生する可能性があります: 2 つのデフォルト メソッドまたは静的メソッドに同じコード実装が含まれている場合、プログラムはこの実装コードを共通メソッドに抽出することを考慮する必要があり、この共通メソッドは他のメソッドで使用する必要がないため、非表示になります。これは、Java 9 でプライベート メソッドを追加する必要があるためです。

インターフェイスのプライベート メソッドの定義形式

:

  • 形式 1 (非静的) )

    :
  • private 戻り値型メソッド名 (パラメータ一覧) {}
    • 例 1: private void show() {}

    • 形式 2 (静的)

      private static 戻り値型メソッド名(パラメータ一覧){}
    • 例 2: private static void method() {}

    • インターフェースのプライベート メソッドに関する注意事項

  • デフォルト メソッドはプライベート静的メソッドと非静的メソッドを呼び出すことができます

    • 静的メソッドはプライベート静的メソッドのみを呼び出すことができます# ########################

以上がJavaインターフェース構成の更新を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。