Javaのプログラムの冒頭にimport~という文を見かけたことはないでしょうか。
本記事では、import文の意味と使いどころなど紹介します。
結論
一言でいうと,,,
import文は、別のパッケージのクラスの指定(FQCN)を軽減するために用いられます。
以下で詳しく説明していきます。
パッケージとは
大量なクラスを分類、管理できるようにグループ分けしたものをパッケージと呼びます。
例として、ランダムな整数を実行したい場合、先人が作ったパッケージから簡単に呼び出すことができます。
int randomNumber = new java.util.Random().nextInt();
Javaで、この先人が作ったパッケージやクラスのことをJava APIと呼びます。
FQCNとは
完全修飾クラス名(full qualified class name)の省略してFQCNと呼んでいます。
別のパッケージのクラスを指定する際、パッケージ名、クラス名を完全な形で記述する必要があります。
例として、ランダムな整数を実行したい場合、Java APIのjava.utilパッケージのRandom クラスの nextInt() として
上記のように記述する必要があります。
これを怠ると、自分と同じパッケージのクラスを呼び出そうとし、エラーに繋がります。
error: cannot find symbol
int randomNumber = new Random.nextInt();
^
symbol: class Random
使いどころ
別のパッケージのクラスを用いる場合、FQCNで記述する必要があることは先述した通りです。
しかし、たくさんのパッケージを用いる場合、一つ一つFQCNで記述するのは、面倒です。
そうしたFQCNの記述を軽減するためimport文を用います。
例として、adventureapp.actionパッケージのHeroクラスを用いたい場合
public class Main{
public static void main(String[] args){
adventureapp.action.Hero h = new adventureapp.action.Hero();
adventureapp.action.Hero.walk();
adventureapp.action.Hero.attack();
adventureapp.action.Hero.run();
}
}
とても長く面倒です。
しかし、import文を用いると
import adventureapp.action.Hero;
public class Main{
public static void main(String[] args){
Hero h = new Hero();
Hero.walk();
Hero.attack();
Hero.run();
}
}
と簡潔に記述することができます。
上記のようにimport文は、importの後にパッケージ名.クラス名を記述します。
このようにとても長いパッケージやたくさんのパッケージを用いる場合、import文によって、簡潔に記述することができるというわけです。