KENスクールブログ | パソコン教室・パソコン講座なら個別指導のKENスクール

BLOGKENスクールブログ

  1. KENスクール TOP >
  2. KENスクールブログ > プログラム > [Java]デフォルトメソッド

プログラム

[Java]デフォルトメソッド

Java SE7 までのインタフェースに定義できるメソッドは「抽象メソッド」のみでした。

Java SE8 のインタフェースには、default というキーワードを記述することによって「具象メソッド」も定義可能になりました。

このメソッドのことを「デフォルトメソッド」といいます。

以下が使用例となります。

次にEmployeeインターフェースを実装したSalesEmployeeクラスを定義します。

EmployeeインターフェースのgetId()とgetName()はオーバーライドしないで、 setId()とsetName()のみオーバーライドします。

SalesEmployeeクラスを利用した実行結果です。

実行結果

id:0
name:No Name

まず、setId()とsetName()を呼び出しフィールドのidとnameにセットします。SalesEmployeeクラスでオーバーライドしたメソッドが呼び出されます。

その後、getId()とgetName()を呼び出して出力していますが、セットした値は表示されません。Employeeインターフェースで定義したメソッドが呼び出されたからです。

それでは、getId()とgetName()もオーバライドしてみましょう。

Mainクラスを再度利用して実行します。

実行結果

id:1000
name:営業たろう

今回は、SalesEmployeeクラスでオーバーライドしたgetId()とgetName()が呼び出されセットした値が表示されました。

インターフェースを実装するクラスの都合に合わせて、デフォルトメソッドはそのまま利用したり、オーバーライドしたりすることができるので非常に便利です。

この記事に関連する講座

業界へのパスポート!プログラムが難しいなんて言わせない!

詳しくはこちら