Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ デフォルトメソッド | インターフェース
Java OOP

bookデフォルトメソッド

メニューを表示するにはスワイプしてください

抽象クラス vs インターフェース:インターフェースの逆襲!

以前は、実装を持つメソッドは抽象クラスにしか存在できませんでしたが、Java 8からはインターフェースにも登場しました。

defaultメソッドを宣言する構文を見てみましょう:

default dataType methodName(parameters) {
// implementation 
}

defaultメソッドは、Javaの通常のメソッドと同じ目的で必要です。メソッド内に実装が必要な場合や、追加のクラスを作成せずにインターフェースのみを実装したい場合に使用します。defaultメソッドを使った簡単な例を見てみましょう:

Main.java

Main.java

copy
12345678910111213141516171819202122232425
package 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 のインスタンスが作成され、両方のメソッドが呼び出されます。

question mark

Java インターフェースのデフォルトメソッドの目的は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  4
some-alt