カテゴリ: JavaSilver試験対策 更新日: 2026/03/23

Javaのインポート宣言を完全解説!初心者にやさしい基本ルール

001
java.langパッケージのインポート宣言の省略について

先生と生徒の会話形式で理解しよう

生徒

「Javaで、インポート宣言をしないといけないクラスとしなくてもいいクラスの違いがよく分かりません。」

先生

「いい質問ですね!Javaでは、いくつかのクラスはインポート宣言を省略できますが、それにはルールがあります。今日はそれを詳しく説明しましょう。」

生徒

「なるほど!具体的にどのクラスが対象ですか?」

先生

「java.langパッケージに属するクラスと、同じパッケージ内のクラスはインポート宣言を省略できます。それでは詳しく見ていきましょう!」

1. インポート宣言が不要なクラスとは?

1. インポート宣言が不要なクラスとは?
1. インポート宣言が不要なクラスとは?

Javaでは、以下の2種類のクラスに対してインポート宣言を省略することができます。

  • java.langパッケージ: Javaの基本的なクラスが含まれるパッケージです。たとえば、StringIntegerSystemなどが含まれます。
  • 同じパッケージ内のクラス: 自分が現在作業しているパッケージに属するクラスです。

これにより、コードの記述が簡潔になり、より読みやすくなります。

2. インポート宣言を省略した場合と明示的に書いた場合の比較

2. インポート宣言を省略した場合と明示的に書いた場合の比較
2. インポート宣言を省略した場合と明示的に書いた場合の比較

以下はインポート宣言を省略している場合の例です。


public class Sample {
    public static void main(String[] args) {
        String message = "Hello, Java!";
        int number = Integer.parseInt("123");
        System.out.println(message + " Number: " + number);
    }
}

このコードでは、java.langパッケージのクラスを利用していますが、インポート宣言を省略しています。

一方、以下のようにインポート宣言を明示的に記述することも可能です。


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

public class Sample {
    public static void main(String[] args) {
        String message = "Hello, Java!";
        int number = Integer.parseInt("123");
        System.out.println(message + " Number: " + number);
    }
}

この場合、記述が冗長になるため、通常は省略することをおすすめします。

3. インポート宣言が必要な場合

3. インポート宣言が必要な場合
3. インポート宣言が必要な場合

たとえば、java.utiljava.mathなどのパッケージに含まれるクラスを使用する場合は、明示的なインポート宣言が必要です。


import java.util.ArrayList;
import java.math.BigDecimal;

public class ImportExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Spring");

        BigDecimal decimalValue = new BigDecimal("123.45");
        System.out.println("List: " + list);
        System.out.println("Decimal: " + decimalValue);
    }
}

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. インポート宣言でよくある注意点

4. インポート宣言でよくある注意点
4. インポート宣言でよくある注意点

インポート宣言で注意すべき点は以下の通りです。

  • インポート宣言では、サブパッケージは含まれません。たとえば、java.util.*をインポートしてもjava.util.regexは含まれません。
  • 頻繁に使用するクラスは、import java.lang.*;のようにパッケージ全体をインポートすることも可能ですが、必要以上のクラスをインポートしないよう注意してください。

5. importの順序と整理方法

5. importの順序と整理方法
5. importの順序と整理方法

Javaでは複数のインポート宣言がある場合、順序を工夫するとコードの可読性が向上します。一般的には、標準ライブラリのインポートを先に、次に外部ライブラリ、最後に自分のプロジェクト内のパッケージをインポートする順序が推奨されます。

このように整理することで、どのクラスがどのパッケージから来ているのか一目でわかり、複数人での開発でも混乱を防ぐことができます。

6. 静的インポートの使い方と注意点

6. 静的インポートの使い方と注意点
6. 静的インポートの使い方と注意点

Javaでは、MathやCollectionsなどのクラスのメソッドを静的にインポートすることができます。静的インポートを使うと、クラス名を省略してメソッドや定数を直接利用できるため、コードが短くなります。

ただし、乱用するとどのクラスのメソッドを使っているのか分かりにくくなるため、必要な場合に限定して使うのが望ましいです。

7. IDEによるインポート自動整理機能

7. IDEによるインポート自動整理機能
7. IDEによるインポート自動整理機能

多くのJava開発環境(IDE)では、使用していないインポートを自動で削除したり、必要なインポートを自動追加する機能があります。これにより手動での整理ミスを防ぎ、コードの可読性を保つことができます。

また、自動整理機能を使うことで、冗長なインポートを減らし、コンパイル時のエラーも減少させることができます。

まとめ

まとめ
まとめ

今回の記事では、Javaのインポート宣言について詳しく解説しました。インポート宣言を省略できるクラスとして、java.langパッケージのクラスや同じパッケージ内のクラスがあることを学びました。 また、明示的にインポートが必要な場合や、import *を利用する際の注意点についても触れました。特に、サブパッケージが自動的にインポートされないことや、不要なクラスをインポートしない工夫が重要です。 以下は、学んだ内容を反映した簡単なサンプルプログラムです。


import java.util.HashMap;

public class SummaryExample {
    public static void main(String[] args) {
        // java.langパッケージのクラスはインポート不要
        String message = "Hello, World!";
        int number = Integer.parseInt("456");

        // java.utilパッケージのクラスはインポートが必要
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Java", 1);
        map.put("Spring", 2);

        System.out.println("Message: " + message);
        System.out.println("Number: " + number);
        System.out.println("Map: " + map);
    }
}

これで、インポート宣言の基本から注意点まで一通り理解できたかと思います。実際の開発でインポート宣言を正しく使い、可読性の高いコードを書きましょう。

先生と生徒の振り返り会話

生徒

「インポート宣言の仕組みがよく分かりました!特に、java.langのクラスを気にせず使える点が便利ですね。」

先生

「その通りです。基本クラスの使用で悩むことが少なくなるのはJavaの利点ですね。ただし、java.utilなどを使う場合には明示的にインポートが必要なので、注意してください。」

生徒

「はい!あと、サブパッケージが自動でインポートされない点も理解しました。」

先生

「その認識が大事です。特に複数のライブラリを使うプロジェクトでは、必要なクラスだけをインポートして、コードを整理していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaでインポート宣言を省略できるクラスにはどのようなものがありますか?

Javaでは、java.langパッケージに含まれる基本クラスや、同じパッケージ内のクラスに対してインポート宣言を省略できます。これによりコードが簡潔になり、プログラムの可読性が向上します。
JavaSilver試験対策の一覧へ
新着記事
AWS
【AWS】CLIを使った自動化・シェルスクリプト活用術
AWS CLIを使った自動化とシェルスクリプト活用術を徹底解説 初心者でもできるクラウド運用効率化
Flutter
RiverpodとProviderの違いを比較!どちらを使う?
FlutterのRiverpodとProviderの違いを比較解説!初心者向けの使い分けガイド
AWS
【AWS】S3のストレージクラスの違いとは?標準・IA・Glacierの選び方
【AWS】S3のストレージクラスの違いとは?標準・IA・Glacierの選び方を初心者向けに解説
AWS
【AWS】S3バケットの作成方法と命名ルールまとめ
【AWS】S3バケットの作成方法と命名ルールまとめ!初心者向け手順解説
人気記事
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク