Javaクラスライブラリの利用 import - 萌えJava超入門
第二十一章 コマンドラインから入力する

Javaクラスライブラリの利用

Javaクラスライブラリのクラスをインポートします。


import java.io.Console;

目次


1.Javaクラスライブラリの利用


Sample21_01.java
//Sample21_01.java
import java.io.Console;//Consoleクラスを使うことを宣言

public class Sample21_01 {

   public static void main(String[] args) {
      Console cons = System.console();
      String str = null;

      if (cons != null) {
         str = cons.readLine("input: ");
      }
      System.out.println("echo : " + str);
   }
}
前のページと同じサンプルコードです。


他の package(パッケージ)にあるクラスにアクセスするには、
アクセスするクラスをimportをする必要があります。

そうゆうの
あったわね。

Javaには、便利なクラスが予め収録されています。
Javaクラスライブラリ(JCL)と呼びます。
Javaクラスライブラリを利用する際も、import が必要です。

Javaクラスライブラリ
  Javaに予め収録されているクラスを
       Javaクラスライブラリ(JCL)
            と呼びます。


サンプルでは、Javaクラスライブラリの
Console.class をインポートしている。
Javaフォルダの場所は別として、
以下のような位置関係だ。
Console.classの位置
    java (パッケージ)
      └----io (パッケージ)
           └----Console.class

java.io.Consoleクラス
java-8-openjdk rt.jarより





2.ワイルドカード「*」


クラス名の代わりに「*」(アスタリスク)と記述すると、パッケージ内のすべてのクラスを importできます。

「*」でimport
import Java.io.*; 

この方法は、ひとつのパッケージから
たくさんのクラスを importするときに
綺麗に書ける。
おっ!
便利っすね!
ただ、クラス名まできちんと表記するのが
行儀よいとされている。
パッケージが異なる同名のクラスは、実は結構あるんです。
たくさんのパッケージを利用する場合には、丁寧に書いたほうがいいかもしれません。

う〜ん...。


3.java.lang はimport免除


java.langパッケージに収録されているクラスは、importの記述を免除されます。

import java.lang.* は記述不要
  import java.lang.*
  が文頭に記載されているものとしてコンパイルされるので、
  java.lang に収録されたクラスは、importの必要がありません。

Systemクラスは、java.langパッケージに収録されています。
importの必要はありません。
System.out.println()でおなじみですね。

java.lang.Systemクラス
java-8-openjdk rt.jarより



今まで使ってきた「String」や
「ラッパークラス」は、
java.langパッケージの所属だ。
Consoleクラスは java.ioパッケージの
所属なので、
importが必要なんだ。

使うクラスがどこにあるかは
知らないといけないってことっスか?
まあね。
ちなみに私も
しょっちゅうググってる。


お疲れ様でした。




© 2019 awasekagami