ホームページ >Java >&#&チュートリアル >Java のデフォルトのメソッド
デフォルト メソッドは、実装を持つインターフェイスのメソッドの一種です。この機能は、既存のインターフェイスとの下位互換性をサポートし、ライブラリとフレームワークを拡張する機能を強化するために導入されました。
デフォルトのメソッドは、本体を持つインターフェースで定義されたメソッドです。これは、メソッド シグネチャのみを持つ従来の抽象メソッドとは異なり、完全な実装ができることを意味します。これにより、既に実装されているクラスを壊すことなく、インターフェイスを進化させ、新しい機能を追加することができます。
public interface MyInterface { // Default method with an implementation default void defaultMethod() { System.out.println("This is a default method."); } // Abstract method to be implemented by classes void abstractMethod(); }
デフォルトのメソッドは、いくつかのシナリオで特に役立ちます:
public interface Vehicle { // Default method default void start() { System.out.println("Vehicle is starting..."); } // Abstract method void drive(); }
複数の実装を持つインターフェイスがあるシナリオを考えてみましょう。デフォルトのメソッドを使用すると、既存のクラスを変更せずに新しい機能を追加できます。
public interface Appliance { default void powerOn() { System.out.println("Appliance is now on."); } void operate(); } public class WashingMachine implements Appliance { @Override public void operate() { System.out.println("Washing clothes..."); } } public class Main { public static void main(String[] args) { Appliance machine = new WashingMachine(); machine.powerOn(); // Default method machine.operate(); // Abstract method } }
出力:
Appliance is now on. Washing clothes...
デフォルトのメソッドを使用してインターフェイスの機能を拡張し、ユーティリティ メソッドを提供できるようにすることもできます。
public interface Drawable { default void draw() { System.out.println("Drawing..."); } void render(); } public class Circle implements Drawable { @Override public void render() { System.out.println("Rendering Circle"); } } public class Main { public static void main(String[] args) { Drawable circle = new Circle(); circle.draw(); // Default method circle.render(); // Abstract method } }
出力:
public interface MyInterface { // Default method with an implementation default void defaultMethod() { System.out.println("This is a default method."); } // Abstract method to be implemented by classes void abstractMethod(); }
Java のデフォルト メソッドは、インターフェイスの進化を簡素化し、コードの再利用を強化できる強力な機能です。デフォルトのメソッドを理解して効果的に適用することで、より柔軟で保守しやすいコードを作成できます。
ご質問がある場合、またはさらに説明が必要な場合は、お気軽に以下にコメントしてください。
詳細については、 : Java のデフォルト メソッドをご覧ください
以上がJava のデフォルトのメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。