未分類

Javaのimport(インポート)文の使い方【クラス、staticフィールド、staticメソッド】

こんにちは、エンジニアの@オノデラユウトです。

import文はJavaのクラス定義で使います。必須ではないのでimport文がないクラスもありますが、大規模なシステム開発だとほぼすべてのクラスにimport文が書かれています。
Javaを独学で勉強してきたエンジニアが大規模開発を始めた時に最初に直面する問題かもしれません。なぜなら、独学はJava構文の学習が主なので、import文をあまり意識する必要がないからです。

ただ、書き方はシンプルだし、一度理解できれば「とても簡単」です。

Javaのimport文(クラス、非フィールド、非メソッド)

importは、クラスが他のpackage(パッケージ)に属しているクラス、フィールド、メソッドを使うための構文です。

Javaでは、同じpackageに属さないクラス、フィールド、メソッドは何もない状態では使えません。これはJavaのルールです。

Javaでは明示的にimport文を使って、他のクラスや非フィールド、非メソッドをimport(輸入)して使う必要があります。

クラスのimport

packageがjp.co.hogeに属するpublicのHogesanクラスがあったとします。それをpublic class Neruクラスで使いたい場合は以下のように書きます。publicクラス以外はパッケージが異なるクラスにimportできないので、ご注意ください。

これでNeruクラスにHogeクラスをimportできました。クラスがimportできたので、Hogeクラスが使えるようになります。そのため、もちろんHogeクラスに属するメソッドやフィールドも使えるようになります。

フィールドのimport

フィールドはpublicでstaticなフィールドがimportできます。(非staticなフィールドを使いたいときはクラス単位でimportしてください。)
packageがjp.co.hogeに属するpublicのHogesanクラスにstaticなint sp(public static int ab =5;)があったとします。それをpublic class Neruクラスで使いたい場合は以下のように書きます。

staicフィールドのimport構文は、①import②static③package名④class名⑤フィールド名の順に書きます。

spフィールドをimportしていて、Neruクラスで使っています。
ただ万が一、Neruクラスに同じ名前のフィールドspを宣言していた場合は、importしても、Neruクラスのspが優先して利用されますのでご注意ください。

メソッドのimport

メソッドもフィールドと同様に、publicでstaticなメソッドがimportできます。
(非staticなメソッドを使いたいときはクラス単位でimportしてください。)
packageがjp.co.hogeに属するpublicのHogesanクラスにpublic static void Systemprint()メソッドがあったとします。

それをpublic class Neruクラスで使いたい場合は以下のように書きます。

staicメソッドのimport構文は、①import②static③package名④class名⑤メソッド名の順に書きます。メソッドは引数用に()がありますが、import文では()は記述しません。

Systemprint()メソッドをimportしていて、Neruクラスで使っています。
ただ万が一、Neruクラスに同じ名前のSystemprint()メソッドを宣言していた場合は、importしても、NeruクラスのSystemprint()が優先して利用されますのでご注意ください。

ちなみに、java.langパッケージに属するクラス、同じpackageに属するクラスはデフォルトでimportされています。本来、Stringはjava.langクラスに属するためStringを使うときはimport java.lang.*;と記載が必要ですが、記載していなくて良いのはデフォルトでimportされているからです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です