JavaA2Z

KAB-studio > プログラミング > JavaA2Z > importとは

import

日本語 導入
英語 import
ふりがな いんぽーと
フリガナ インポート

解説

パッケージ名を省略するための予約語
 
ソースファイルの最初の方ので「import パッケージ名.クラス;」とすることで、「クラス名」を直接使うことができる。
これを「『クラス名』クラスインポートする」と言う。またこの記述を「インポート宣言」という。
 
インポートしていないクラスの場合、「パッケージ名.クラス名」というフルネーム(完全修飾名)でなければ使用できない。
インポートすることで、クラスを「クラス名」のみで使用することができるようになる。
このように、インポートは記述を簡易にするためのものである。
 
また「import パッケージ名.*;」で「パッケージ名」のクラスはすべてパッケージ名を付けずにクラスを使うことができる。
ただし、「import パッケージ名1.*;」としても「パッケージ名1.パッケージ名2.クラス名」のクラスパッケージ名を省略できない。「*」で省略されるのは指定したパッケージ名直下のクラスのみである。
 
importによるインポート宣言は、packageによるパッケージ宣言の後であり、かつクラス宣言の前にう必要がある。
package」→「import」→「class」の順番を入れ替えるとコンパイルエラーになるため注意すること。
 
インポートパッケージ名を省略するためのものである。
クラスを使う際にインポートが必要なわけではない。
 
importによるパッケージ名の省略は便利だが、クラスがどのパッケージに所属するのか分かりにくくなる傾向にある。
特に「*」を使用して複数のパッケージインポートすると、クラスの使用時に「どのパッケージクラスを使用しているのか」分からないため、想定していないクラスを使用してしまい思わぬバグを生み出す場合がある。
かといって、importを使用せずフルネームでクラスを使用するのは、コーディング量が増えるため冗長と言える。
一番望ましいのは、クラスに機能を詰め込まないことだろう。ひとつのクラスにあまり多くの機能を入れないことで、インポートしなければならないクラスの数は減り、把握しやすくなるからである。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java

// ArrayListクラスをインポートします。
import java.util.ArrayList;

// インポート名が間違っているとコンパイルエラーになります。
// import java.utiL.ArrayList
// コンパイルエラー:
// インポート java.utiL が解決できません。

// importは*を使ってまとめて行えます。
import java.math.*;
// これで、java.mathパッケージ内のクラスは全て使えます。

// ただ、パッケージを*で全部指定することはできません。
// import java.*;
// としても、javaパッケージ下のクラスが使えるだけで、
// その下のパッケージのクラスは使えません。

// 同じ名前のクラスをimportするとコンパイルエラーになります。
// import java.util.Date;
// import java.sql.Date;
// コンパイルエラー:
// インポート java.sql.Date は他のインポート型とは一致しません。

public class Sample
{
    public static void main( String[] args )
    {
        // ArrayListクラス。
        ArrayList arylst = null;
        // importしてあるので使えます。

        // BigDecimalクラス。
        BigDecimal bigDecimal = null;
        // importしてあるので使えます。

        // Stringクラス。
        // java.langパッケージは、特別にインポートせずに
        // 使用することができます。
        String string = null;
    }
}

// importはクラスの宣言の後には置けません。
// import java.util.Iterator;
// コンパイルエラー:
// キーワード "import" に構文エラーがあります。正しくは "interface", "class" です。
// Sample.java

// ArrayListクラスをインポートします。
import java.util.ArrayList;

// インポート名が間違っているとコンパイルエラーになります。
// import java.utiL.ArrayList
// コンパイルエラー:
// インポート java.utiL が解決できません。

// importは*を使ってまとめて行えます。
import java.math.*;
// これで、java.mathパッケージ内のクラスは全て使えます。

// ただ、パッケージを*で全部指定することはできません。
// import java.*;
// としても、javaパッケージ下のクラスが使えるだけで、
// その下のパッケージのクラスは使えません。

// 同じ名前のクラスをimportするとコンパイルエラーになります。
// import java.util.Date;
// import java.sql.Date;
// コンパイルエラー:
// インポート java.sql.Date は他のインポート型とは一致しません。

public class Sample
{
    public static void main( String[] args )
    {
        // ArrayListクラス。
        ArrayList arylst = null;
        // importしてあるので使えます。

        // BigDecimalクラス。
        BigDecimal bigDecimal = null;
        // importしてあるので使えます。

        // Stringクラス。
        // java.langパッケージは、特別にインポートせずに
        // 使用することができます。
        String string = null;
    }
}

// importはクラスの宣言の後には置けません。
// import java.util.Iterator;
// コンパイルエラー:
// キーワード "import" に構文エラーがあります。正しくは "interface", "class" です。

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2006/01/13
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。