September 22, 2006

JAVA SJC-A(メルマガvol23回答&解説)

正解
1,2

インターフェイスを実装したクラスは、そのインターフェイスが持つメソッドをオーバーライドしていることが保障されています。そのため、インターフェイスを型として使用し、実装クラスをインスタンス化したオブジェクトを代入することが可能となっています。

IF1 x = new ClassA();

変数のデータ型としてだけでなく、メソッドの戻り型や引数のデータ型として使用することも可能です。

public IF1 method2() { return new ClassA(); }

どちらの場合も、実際に扱うオブジェクトは、インターフェイスを実装したクラスのオブジェクトです。このような型としての利用ができることにより、ポリモフィズムが提供されます。


不正解となる選択肢は、インターフェイスを直接インスタンス化(new IF1())としているため、不正な使用方法です。インターフェイスはインスタンス化することができませんので注意しましょう。


ミニまぐで配信されたメールマガジンの問題に対する解答・解説です。
「Project - ∞一日一問IT資格をGET! (ID:M0058193)」
元の問題はProject - i から提供されています。

投稿記事が気に入ったらポチっとやって頂戴!

ブログランキング緑にほんブログ村 資格ブログへ 人気ブログランキング【ブログの殿堂】



トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔