Java SE 5.0の新機能、staticインポートを習得する:ソースコードで学ぶ SJC-P 5.0 ドリル(2)(1/2 ページ)
本連載は、サン・マイクロシステムズ認定のJava資格Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)に対応しています。最新の出題傾向に基づいて、ソースコードの問題を中心に毎回模擬問題を1問出題します。ソースコードに慣れながら、SJC-P合格を目指して頑張りましょう。
連載第2回は、Java SE 5.0で新たに導入された、staticインポートからの出題です。
staticインポートとは
従来、static変数やstaticメソッドを利用する場合、クラス名を付けてアクセスする必要がありました。ここでは、staticメソッドを持つクラス(ソースコード1-1)を利用しているクラス(ソースコード1-2)の例を見てみましょう。 ※これらのクラスは異なるパッケージに属しています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
上記のように、従来ではstaticメンバを利用するときには「クラス名.メソッド名」や、「クラス名.変数名」と記述する必要がありました。Java言語で提供されているjava.lang.MathクラスのstaticメンバであるPI定数を利用する場合も、java.langパッケージになるので、import文は不要になるものの、その都度、Math.PIと記述する必要がありました。
staticインポートとは、static変数やstaticメソッドをクラス名を指定せずに使用する機能です。これにより、使用するたびにクラス名を記述する必要がなくなります。キーワードとしてimport staticを使用し、完全修飾名およびインポートしたいstatic変数やstaticメソッドを指定します。 ※完全修飾名とは、「パッケージ名.クラス名」といった正式なクラス名称のことです。
【構文】
import static パッケージ名.クラス名.static変数名;
import static パッケージ名.クラス名.staticメソッド名;
import static パッケージ名.クラス名.*;
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
【構文】 import static パッケージ名 . クラス名 . static メソッド名;
演習問題
以下の問題を考えてみてください。解答と解説は次のページにあります。
問題
次のソースコードがあります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また別のファイルとして次のソースコードがあります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Testクラスを正しくコンパイル、実行し、実行結果として20を出力するために、空欄(1)に入るソースコードはどれですか? 1つ選択してください。
A.import static com.it.*;
B.static import com.it.*;
C.import static com.it.Calc;
D.static import com.it.Calc;
E.import static com.it.Calc.sum;
F.static import com.it.Calc.sum;
Copyright © ITmedia, Inc. All Rights Reserved.