デフォルトメソッド
メニューを表示するにはスワイプしてください
抽象クラス vs インターフェース:インターフェースの逆襲!
以前は、実装を持つメソッドは抽象クラスにしか存在できませんでしたが、Java 8からはインターフェースにも登場しました。
defaultメソッドを宣言する構文を見てみましょう:
default dataType methodName(parameters) {
// implementation
}
defaultメソッドは、Javaの通常のメソッドと同じ目的で必要です。メソッド内に実装が必要な場合や、追加のクラスを作成せずにインターフェースのみを実装したい場合に使用します。defaultメソッドを使った簡単な例を見てみましょう:
Main.java
12345678910111213141516171819202122232425package com.example; public class Main { public interface Greeting { default void sayHello() { System.out.println("Hello from the interface!"); } void greet(String name); } public static class GreetingImpl implements Greeting { @Override public void greet(String name) { System.out.println("Hello, " + name + "!"); } } public static void main(String[] args) { GreetingImpl greetingImpl = new GreetingImpl(); greetingImpl.sayHello(); // Output: Hello from the interface! greetingImpl.greet("Alice"); // Output: Hello, Alice! } }
この例では、インターフェース Greeting にデフォルト実装を持つデフォルトメソッド sayHello() が含まれています。クラス GreetingImpl はこのインターフェースを実装し、greet() メソッドをオーバーライドしています。main メソッドでは、GreetingImpl のインスタンスが作成され、両方のメソッドが呼び出されます。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 4