*パッケージ [#xf71af60] クラスやインターフェイスの集まりです。 #codeprettify{{ package packageName }} packageNameはパッケージ名です ''例'' #codeprettify{{ packege test; }} 階層構造にすることも可能です。 #codeprettify{{ packege test.test2.test3 }} この場合、これと同じ構造のディレクトリ構成でないといけません。 ''PackageDemo.java'' #codeprettify{{ package p; class PackageDemo{ public static void main(String args[]){ A a = new A(); a.a1(); B b = new B(); b.b1(); C c = new C(); c.c1(); } } }} ''A.java'' #codeprettify{{ package p; class A{ void a1(){ System.out.println("a1"); } } }} ''B.java'' #codeprettify{{ package p; class B{ void b1(){ System.out.println("b1"); } } }} ''C.java'' #codeprettify{{ package p; class C { void c1() { System.out.println("c1"); } } }} 上記のファイルは\pに入っているとします。~ 構成はこんなカンジね~ ドライブ? ドライブ? | | | | +----\..(\pの親ディレクトリ) | | | | ・ +----\p ・ | |- PackageDemo.java ・ | |- A.java | |- B.java | |- C.java ・ ・ ・ コンパイルは\pの親ディレクトリ(\pより一つ上)に移り、 #codeprettify{{ javac p\*.java }} と行います。 実行は #codeprettify{{ java p.PackageDemo }} とします。こちらも親ディレクトリ(\pより一つ上)から実行です。~ こういう使い方をすると便利っぽい~ extendsを使うことでわずらわしいメソッドを使うときのクラスの指定を 行わなくてすむ~ ただ、わかりづらくなるかも・・・ ''Packa.java'' #codeprettify{{ import B.*; import C.*; class Pack extends c{ public static void main(String args[]) { //通常(?)例 b b1 = new b(); bb bb1 = new bb(); b1.commentout(); bb1.commentout(); //便利例 commentoutC(); //extendsされてるのでクラスの指定は省略できる commentoutC2(); //こちらはCクラスにextendsされているのでクラスの指定は省略できる } } }} ''B\b.java'' #codeprettify{{ package B; public class b{ public static void commentout(){ System.out.println("こちらはBパッケージです"); } } }} ''B\bb.java'' #codeprettify{{ package B; public class bb{ public static void commentout(){ System.out.println("こちらはBパッケージのbbです"); } } }} ''C\c.java'' #codeprettify{{ package C; public class c extends c2{ public static void commentoutC(){ System.out.println("こちらはextendsされたCパッケージのCです"); } } }} ''C\c2.java'' #codeprettify{{ package C; public class c2{ public static void commentoutC2(){ System.out.println("こちらはc classにextendsされたCパッケージのC2です"); } } }}