- Javaパッケージ
- パッケージ例
- パッケージへのアクセス
- サブパッケージ
- クラスファイルを別のディレクトリに送信する
- -クラスパススイッチ
- クラスファイルまたはjarファイルをロードする4つの方法
- 2 つのパブリック クラスをパッケージに入れる方法
- 静的インポート
- パッケージクラス
あ Javaパッケージ 類似したタイプのクラス、インターフェイス、サブパッケージのグループです。
Javaにおけるパッケージは、組み込みパッケージとユーザー定義パッケージの2つの形式に分類できます。
java、lang、awt、javax、swing、net、io、util、sql などの組み込みパッケージが多数あります。
ここでは、ユーザー定義パッケージの作成と使用について詳しく学習します。
日付に文字列を入力する
Javaパッケージの利点
1) Java パッケージを使用して、クラスとインターフェースを分類し、簡単に保守できるようにします。
2) Java パッケージはアクセス保護を提供します。
3) Java パッケージにより、名前の衝突が解消されます。
Javaパッケージの簡単な例
の パッケージキーワード Javaでパッケージを作成するために使用されます。
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Javaパッケージをコンパイルする方法
IDE を使用していない場合は、次の手順に従う必要があります。 構文 下記のとおり:
javac -d directory javafilename
のために 例
javac -d . Simple.java
-d スイッチは、生成されたクラス ファイルの保存先を指定します。 /home (Linux の場合)、d:/abc (Windows の場合) などの任意のディレクトリ名を使用できます。パッケージを同じディレクトリ内に保持したい場合は、 を使用できます。 (ドット)。
Javaパッケージプログラムの実行方法
完全修飾名を使用する必要があります。 mypack.Simple などでクラスを実行します。
コンパイルします: javac -d 。シンプル.java |
走る: java mypack.Simple |
Output:Welcome to package
-d は、クラス ファイルを配置する場所をコンパイラに指示するスイッチです。つまり、宛先を表します。 。現在のフォルダーを表します。 |
別のパッケージからパッケージにアクセスするにはどうすればよいですか?
パッケージの外部からパッケージにアクセスするには 3 つの方法があります。
- パッケージをインポートします。*;
- インポートパッケージ.クラス名;
- 完全修飾名。
1) パッケージ名を使用します。*
package.* を使用すると、このパッケージのすべてのクラスとインターフェイスにアクセスできますが、サブパッケージにはアクセスできません。
import キーワードは、別のパッケージのクラスとインターフェイスを現在のパッケージからアクセスできるようにするために使用されます。
packagename.* をインポートするパッケージの例
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } }
Output:Hello
2) packagename.classname を使用する
package.classname をインポートすると、このパッケージの宣言されたクラスのみがアクセス可能になります。
import package.classnameによるパッケージの例
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } }
Output:Hello
3) 完全修飾名の使用
完全修飾名を使用すると、このパッケージの宣言されたクラスのみにアクセス可能になります。これで、インポートする必要がなくなりました。ただし、クラスまたはインターフェイスにアクセスするときは常に完全修飾名を使用する必要があります。
これは通常、2 つのパッケージが同じクラス名を持つ場合に使用されます。 java.util および java.sql パッケージには Date クラスが含まれています。
インポート完全修飾名によるパッケージの例
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } }
Output:Hello
注: パッケージをインポートする場合、サブパッケージはインポートされません。
パッケージをインポートすると、サブパッケージのクラスとインターフェイスを除く、そのパッケージのすべてのクラスとインターフェイスがインポートされます。したがって、サブパッケージもインポートする必要があります。
注: プログラムの順序は、パッケージ、インポート、クラスである必要があります。
Javaのサブパッケージ
パッケージ内のパッケージは サブパッケージ 。作成する必要があります パッケージをさらに分類するには 。
例を挙げてみましょう。Sun Microsystem は、System、String、Reader、Writer、Socket などの多くのクラスを含む java という名前のパッケージを定義しました。これらのクラスは、特定のグループを表します。 Reader クラスと Writer クラスは入出力操作用であり、Socket クラスと ServerSocket クラスはネットワークなど用です。そこで、Sun は Java パッケージを lang、net、io などのサブパッケージに分類し、入出力関連のクラスを io パッケージに、Server クラスと ServerSocket クラスを net パッケージに、といった具合にしました。
パッケージを定義する標準は、domain.company.package です。 com.javatpoint.bean または org.sssit.dao。
サブパッケージの例
package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } }
コンパイルします: javac -d 。シンプル.java |
走る: java com.javatpoint.core.Simple |
Output:Hello subpackage
クラスファイルを別のディレクトリまたはドライブに送信するにはどうすればよいですか?
A.javaソースファイルのクラスファイルをc:ドライブのclassesフォルダに置きたいというシナリオがあります。例えば:
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
コンパイルします:
e:sources> javac -d c:classes Simple.java
走る:
このプログラムを e:source ディレクトリから実行するには、クラス ファイルが存在するディレクトリのクラスパスを設定する必要があります。 |
e:sources> set classpath=c:classes;.; |
e:sources> java mypack.Simple |
Java の -classpath スイッチを使用してこのプログラムを実行する別の方法:
-classpath スイッチは、javac および java ツールで使用できます。
このプログラムを e:source ディレクトリから実行するには、クラス ファイルを探す場所を指示する Java の -classpath スイッチを使用できます。例えば:
スイッチメソッドJava
e:sources> java -classpath c:classes mypack.Simple
Output:Welcome to package
クラスファイルまたはjarファイルをロードする方法
クラス ファイルを一時的にロードする方法と永続的にロードする方法は 2 つあります。 |
- 一時的
- コマンドプロンプトでクラスパスを設定する
- -classpath スイッチによる
- 永続
- 環境変数にクラスパスを設定することで
- すべてのクラス ファイルを含む jar ファイルを作成し、その jar ファイルを jre/lib/ext フォルダーにコピーします。
ルール: Java ソース ファイル内に存在できるパブリック クラスは 1 つだけであり、パブリック クラス名で保存する必要があります。
//save as C.java otherwise Compilte Time Error class A{} class B{} public class C{}
2 つのパブリック クラスをパッケージに入れるにはどうすればよいですか?
2 つのパブリック クラスをパッケージに含める場合は、1 つのパブリック クラスを含む 2 つの Java ソース ファイルを用意しますが、パッケージ名は同じにしておきます。例えば: |
//save as A.java package javatpoint; public class A{}
//save as B.java package javatpoint; public class B{}
Java5の静的インポート機能とは何ですか?
Java5の静的インポート機能をクリックします。 |
パッケージクラスはどうでしょうか?
パッケージクラスをクリックします |