インポート宣言不要!自動でインポートされるJavaのクラス

Java Silver

Javaのインポート宣言において、

java.langパッケージに属するクラスのインポート宣言は省略可能です。

インポート宣言なしのソースコード

そもそもJavaにおいては、

コンパイラやJVMは、完全修飾クラス名(パッケージ名.クラス名)でしか

クラスを扱うことはできません。

つまり、本来は以下のようなソースコードを記載する必要があります。

class Sample(){
  public static void main(String[] args){
    java.lang.String str = "100";
    int num = java.lang.Integer.parseInt(str);
  }
}

上記のようにプログラムを記述すると、コードが冗長になり、可読性が低下します。

そこで、次のようにインポート宣言をすると、パッケージ名の省略が可能となります。

import java.lang.String;
import java.lang.Integer;

class Sample(){
  public static void main(String[] args){
    String str = "100";
    int num = Integer.parseInt(str);
  }
}

java.langパッケージに属するクラスのインポート宣言が省略できる理由

そして、java.langパッケージに属するクラスは以下の理由から、

インポート宣言の省略が可能となっています。

  • java.langパッケージには、基本的なクラスがまとめられている
  • java.langパッケージ内のクラスは、頻繁に利用される

また、以下のようなインポート宣言は、

import java.lang.String;
import java.lang.Integer;

以下のように、ワイルドカード「*:アスタリスク」を用いて、記述をすることも可能です。

import java.lang.*;

コメント

タイトルとURLをコピーしました