スポンサードリンク
HOME > Java > パッケージ名の省略機能 - import

Java - パッケージ名の省略機能 - import

パッケージ内のクラスを使う場合には、ドット(.)を使って、

パッケージ名.クラス名 と、記述しなければなりませんが、

例えば、

5回くらいネストするパッケージ構造になっている場合、

パッケージ名.パッケージ名.パッケージ名.パッケージ名.パッケージ名.クラス名

と言うような記述をしなければならないため、

非常にムダが多い書き方になってしまいます。

そこで、このパッケージ名の部分を省略できる書き方があります。

使用例

パッケージ(フォルダ)構成図
 pkg_A(フォルダ)
  └pkg_B(フォルダ)
    └Chello.java(ソースファイル)

 pkg_main(フォルダ)
   └Cmain.java(ソースファイル)


ファイル名:Chello.java
package pkg_A.pkg_B;

public class Chello {
   void show() {
      System.out.println("Hello");
   }
}


ファイル名:Cmain.java
package pkg_main;
import pkg_A.pkg_B.Chello;

public class Cmain {
   public static void main(String[] args) {
      
Chello obj = new Chello();
      obj.show();
   }
}


このプログラムでは、 Cmain.javaファイルに、

import pkg_A.pkg_B.Chello; と言う記述があります。

これをインポート宣言と言います。

このように書く事によって、このファイル中では、

本来、pkg_A.pkg_B.Chello と記述しなければならないのに、

Chello と言った、パッケージ名を省略した書き方が可能になります。



上記の例では、pkg_Apkg_BパッケージのChelloクラスのみ

省略できる書き方です。

もっと便利な書き方があります。


import pkg_A.pkg_B.*;



このように書くとpkg_Apkg_Bパッケージ内に含まれている全てのクラス

インポートできます。

注意点:

この場合、pkg_Aパッケージ内のクラスはインポートされません。

両方ともインポートしたい場合は、2つに分けて書く必要があります。


import pkg_A.*;

import pkg_A.pkg_B.*;




staticインポート

通常のインポート宣言では、staticの付いた静的メンバ変数や

staticの付いた静的メンバ関数を指定する場合にも

クラス名.静的メンバ変数名

クラス名.静的メンバ関数名

のように指定しなければなりません。

この記述から、"クラス名." の部分を省略できる書き方があります。


1 import static パッケージ名.クラス名.静的メンバ変数名;

2 import static パッケージ名.クラス名.静的メンバ関数名;
3 import static パッケージ名.クラス名.*;


1と2は、個別に指定する方法で、個別に指定した静的メンバだけがインポートされます。

3は、クラス名だけを指定する方法で、指定されたクラスの全ての静的メンバが

インポートされます。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved