検索
連載

参照型の一種、インターフェイスを習得するソースコードで学ぶ SJC-P 5.0 ドリル(6)(1/2 ページ)

本連載は、サン・マイクロシステムズ認定のJava資格Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)に対応しています。最新の出題傾向に基づいて、ソースコードの問題を中心に毎回模擬問題を1問出題します。ソースコードに慣れながら、SJC-P合格を目指して頑張りましょう。

PC用表示
Share
Tweet
LINE
Hatena

 連載第6回の今回は、インターフェイスに関する出題です。

インターフェイスとは

 インターフェイスはstaticな定数と、抽象メソッドのみを持つクラスです。前回紹介した抽象クラスと同様にインスタンス化はできません。また宣言時はclassではなくinterfaceキーワードを使用します。

【構文】
[修飾子] interface インターフェイス名 { }

(例)
public interface MyInterface { }

インターフェイスでのメソッド

 インターフェイスに定義するメソッドは抽象メソッドのみです。処理内容を持つ通常のメソッドは定義できません。抽象メソッドの構文は抽象クラスのときと同様ですが、インターフェイスの場合は、使用できるアクセス修飾子はpublicのみです。インターフェイスで宣言したメソッドは、publicなabstractメソッドであることが決まっているため、明示的にpublic abstractを指定していなくても、コンパイラによって強制的に付加されます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

インターフェイスでの変数

 インターフェイスに定義できる変数はpublicなstatic指定されたfinalな変数、つまり定数のみです。もし明示的にpublic static finalを指定していなくても、コンパイラによって強制的に付加されます。このようにインターフェイスでは必ず定数となるため、初期化しておかないとコンパイルエラーとなります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

インターフェイスを利用する

 インターフェイス自体はインスタンス化できないため、インターフェイスで宣言されたメソッドをオーバーライドしたクラスを用意する必要があります。これをインターフェイスの実装クラスと呼びます。実装クラスの宣言時には、implementsキーワードを使用し、インターフェイス名を指定します。

【構文】
[修飾子] class クラス名 implements インターフェイス名{ }

(例)
public interface MyInterface { }
public class MyClass implements MyInterface { }

 implementsの後には、1つ以上のインターフェイスを複数指定することができます。複数指定する場合は、カンマ(,)で区切ります。そして、その実装クラスは、インターフェイスで宣言されたメソッドをすべて実装する必要があります。また、オーバーライドする際には、public修飾子を付ける必要があります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

演習問題

 以下の問題を考えてみてください。解答と解説は次のページにあります。

問題

 次のプログラムをコンパイルし、実行するとどうなりますか? 1つ選択してください。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

A. YYX
B. YXX
C. XXY
D. XYY
E. コンパイルエラー

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る