Java のクラス及びインタフェースの名前は、原則として、パッケージ名を含めた完全修飾名で指定する必要がある。ただし、import 文を使うと、パッケージ名による修飾を省略できるので、簡潔に記述できるようになる。
Javaにおいてクラス等を使うには、パッケージ名で修飾する必要がある。
public class Example {
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
System.out.println("年齢を入力してください");
int age = scanner.nextInt();
System.out.println("年齢は" + age + "です");
}
}
import文でクラスやパッケージ等をインポートすると、パッケージ名による修飾を省略できる。
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("年齢を入力してください");
int age = scanner.nextInt();
System.out.println("年齢は" + age + "です");
}
}
インポート対象にアスタリスクを指定することで、パッケージに含まれるすべてのフィールド、クラス及びインタフェースを一括してインポートすることもできる。
import java.util.*;
public class Example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("年齢を入力してください");
int age = scanner.nextInt();
System.out.println("年齢は" + age + "です");
}
}
import static文でstatic変数やstaticメソッドをインポートすると、パッケージ名やクラス名で修飾することなくstatic変数やstaticメソッドを記述することができる。
import static package.class.static-variable
import static package.class.static-method
import static package.class.*
java.langパッケージに限り、コンパイラによって暗黙的にimportされるため、明示的にimportする必要はない。
public class Example {
public static void main(String[] args) {
// java.lang.String
String str = "Java";
}
}
同名クラスを複数インポートした場合、最初にインポートしたクラスが優先される。
他のプログラミング言語の中には import 時に別名を付けられるものもあるが、Java では import 時に別名を付けることはできない。
Eclipse で Java の import が見つからない場合、エラーメッセージが表示される。
インポートされた com.segakuin.Example が見つかりません
この場合は、Java のビルド・パスにプロジェクトを追加する必要がある。
VScode では project/.classpath に記述したパスを参照してクラスを探している。
<?xml version="1.0" encoding="UTF-8">
<classpath>
<classpathentry kind="lib" path="lib/">
</classpath>