Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

書籍 パーフェクトJava | パッケージ

パンくず

書籍 パーフェクトJava
パッケージ

概要

Javaのパッケージについて

単一インポート

個別に型指定したインポート。

オンデマンドインポート

アスタリスクを使用したインポート。
パッケージ以下の全型名を単一インポートするのと同じ。

インポートのルール

暗黙のインポート

java.lang
・同一パッケージ内

名前の衝突

完全名で記述することで回避する

static import

コーディングは楽になるが、リーディングは難しくなる。
(どのクラスのメソッドなのかひと目ではわかりにくい)

サンプルコード

package perfect.pack;

// オンデマンドインポート
//import perfect.pack.sub.*;
// 単一インポート
import perfect.pack.sub.PackSub1;
import perfect.pack.sub.PackSub2;
// static インポート
import static perfect.pack.sub.PackSub2.HOO;;

public class SamplePack {
  public static void main(String[] args) {
    new PackSub1().hoge();
    new PackSub2().hoo();
    // 同一パッケージはimport不要
    new SamplePackSub().sub();
    /*
     *  static importしたので定数名だけで済む
     *  しかし、一見するとどのクラスで宣言したものか不明
     */
    System.out.println(HOO);

    // 名前が衝突したらどちらかを完全修飾名で記述する
    new Hige().hige();
    new perfect.pack.sub.Hige().hige();
  }
}

出力

hoge
hoo
sub
hoo
hige
hige sub