////////////////////////////////////////////////////////////////////////////////
//  << j282b.java >>
//
//  クラス(8):パッケージ(パッケージの利用)
//
//  パッケージの利用法を確認する。
//
// ●利用法
//
//   他のパッケージにあるpublic指定のあるクラスを使用する場合、クラス名に
//  パッケージ名を付けて指定する必要がある。しかし、パッケージ名を付けるのは
//  煩わしい作業である。そこで、予約語importを使うことで、パッケージ名を省く
//  ことができる。
//
//  ・特定のクラスを利用する場合
//  
//    import  パッケージ名.クラス名
//
//  ・パッケージのすべてのクラスを利用する場合
//  
//    import  パッケージ名.*
//
//   プログラム中でクラスを使うときには、パッケージ名.クラス名と書かずに、
//   クラス名だけでよい。
//
//  ・import java.lang.*; は、自動的に行われるので、パッケージjava.lang内の
//   クラス(System,Stringなど)は、importで指定しなくても利用できる。
//
//
//  (1)パッケージを指定したクラスの取り込み。
//  (2)クラスj282a内のフィールド変数aには、指定がないので、
//     obj.aで参照できない。
//  (3)クラスj282a内のpublic指定のあるフィールド変数paには、
//     public指定があるので参照できる。
//  (4)クラスj282a内のメソッドm()には、指定がないので、呼び出せない。
//  (5)クラスj282a内のメソッドpm()には、public指定があるので、呼び出せる。
//
////////////////////////////////////////////////////////////////////////////////

import pack1.j282a; //(1)

class j282b {
  public static void main(String args[]) {
  
    j282a obj = new j282a();

    System.out.println("(2)obj.aはエラー"); //(2)
 
    System.out.println("(3)obj.pa = " + obj.pa); //(3) 

    System.out.println("(4)obj.m()はエラー"); //(4)

    System.out.println("(5)obj.pm():" + obj.pm()); //(5)
  }
}
実行結果
% javac j282b.java
% java j282b
(2)obj.aはエラー
(3)obj.pa = 222
(4)obj.m()はエラー
(5)obj.pm():public指定のあるメソッド(pm)