ホームページ >Java >&#&チュートリアル >Java でのデフォルト メソッドの用途は何ですか?

Java でのデフォルト メソッドの用途は何ですか?

WBOY
WBOY転載
2023-08-20 21:37:54938ブラウズ

Java でのデフォルト メソッドの用途は何ですか?

Java のインターフェイスはクラスに似ていますが、final および static によって変更される抽象メソッドとフィールドのみが含まれます。

  • メソッドプロトタイプの仕様です。プログラマーに指示したり、型のメソッドとフィールドがどうあるべきかについて契約を結んだりする必要がある場合は、インターフェイスを定義します。
  • クラスを特定の仕様に準拠させたい場合は、必要なインターフェイスを実装し、インターフェイス内のすべての抽象メソッドに具体的な実装を提供する必要があります。
  • インターフェイス内のすべての抽象メソッドの実装を提供しない場合、コンパイル時エラーが生成されます。

新しいメソッドがインターフェイスに追加されるとどうなりますか?

インターフェイスを使用しており、そのインターフェイスにすべての抽象メソッドを実装し、後で新しいメソッドを追加したとします。その場合、すべてのクラスに新しく追加されたメソッドを実装しない限り、そのインターフェイスを使用するすべてのクラスは機能しなくなります。

この問題を解決するために、Java8 ではデフォルトのメソッドが導入されました。

デフォルト メソッド

デフォルト メソッドは、防御メソッドまたは仮想拡張メソッドとも呼ばれます。次のように、default キーワードを使用してデフォルトのメソッドを定義できます。

default void display() {
   System.out.println("This is a default method");      
}

インターフェイス内の特定のメソッドに対してデフォルトの実装を一度作成すると、それをインターフェイスに実装する必要はありません。クラス。

次の Java の例は、Java でのデフォルト メソッドの使用を示しています。

オンライン デモンストレーション

interface sampleInterface{  
   public void demo();  
   default void display() {
      System.out.println("This is a default method");      
   }
}
public class DefaultMethodExample implements sampleInterface{
   public void demo() {
      System.out.println("This is the implementation of the demo method");
   }  
   public static void main(String args[]) {      
      DefaultMethodExample obj = new DefaultMethodExample();
      obj.demo();
      obj.display();      
   }
}

出力

This is the implementation of the demo method
This is a default method

以上がJava でのデフォルト メソッドの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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