017-004-006

インターフェイスのデフォルトメソッド

中級

問題説明

インターフェイスのデフォルトメソッド

この問題では: Greetableインターフェイスにデフォルトメソッドを定義し、Personクラスでそのデフォルトメソッドをオーバーライドせずに利用して挨拶メッセージを標準出力に表示するプログラムを作成します。

学習目標: インターフェイスのデフォルトメソッドを理解し、実装クラスで利用できるようになる

概要

インターフェイスには、Java 8から「デフォルトメソッド」を定義できるようになりました。デフォルトメソッドは、インターフェイス内に実装を持つメソッドで、実装クラスはそのメソッドオーバーライドせずに利用できます。

仕様

以下のインターフェイスと実装クラスを完成させてください:

  1. Greetableインターフェイス:

    • void greet() - 抽象メソッド
    • default void greetWithTime() - デフォルトメソッド("Good morning!" と出力)
  2. Personクラス:

    • Greetableを実装
    • フィールド: String name
    • コンストラクタ: Person(String name)
    • greet()の実装: "Hello, I'm [name]" と出力
    • greetWithTime()はオーバーライドせず、そのまま利用
  3. Mainクラス:

    • Personオブジェクトを作成し、greet()greetWithTime()の両方を呼び出す

出力形式

Hello, I'm Alice
Good morning!

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録