ホームページ > Java > &#&チュートリアル > パッケージとクラスパスの検索

パッケージとクラスパスの検索

Linda Hamilton
リリース: 2024-09-29 06:07:30
オリジナル
513 人が閲覧しました

Encontrando Pacotes e CLASSPATH

ディレクトリによるパッケージのミラーリング:
Java パッケージは、ファイル システム上のディレクトリにマッピングされます。

Java ランタイムがパッケージを検索する 3 つの方法:
現在の作業ディレクトリ: ランタイム システムは、作業ディレクトリを開始点として使用します。パッケージが現在のディレクトリのサブディレクトリにある場合は、見つかります。
CLASSPATH 変数: パッケージ パスを含めるように CLASSPATH 環境変数を構成できます。
-classpath オプション: プログラムのコンパイルおよび実行時にクラスパスを指定するには、java および javac コマンドで -classpath オプションを使用します。

パッケージの例:
パッケージ mypack;

プログラムが mypack パッケージを見つけるには、次の条件のいずれかが true である必要があります:
プログラムは mypack の上のディレクトリから実行されます。
CLASSPATH には mypack のパスが含まれます。
-classpath オプションは、mypack のパスを指定するために使用されます。

ディレクトリを整理するための推奨事項:
パッケージに関連するすべての .java および .class ファイルを、パッケージに対応するディレクトリに保存します。
パッケージの上のディレクトリからファイルをコンパイルします。

コード例と実行
ディレクトリ構造:

src/
  mypack/
    MyClass.java
  Main.java

ログイン後にコピー
  1. パッケージの定義 (mypack/MyClass.java):
package mypack;

public class MyClass {
    public void displayMessage() {
        System.out.println("Pacote mypack encontrado!");
    }
}

ログイン後にコピー
  1. パッケージ クラス (Main.java) の使用:
import mypack.MyClass;  // Importando a classe do pacote mypack

public class Main {
    public static void main(String[] args) {
        MyClass myClass = new MyClass();  // Criando uma instância de MyClass
        myClass.displayMessage();  // Chamando o método
    }
}

ログイン後にコピー

コンパイルと実行

  1. ファイルのコンパイル 上記の mypack ディレクトリから、次のようにコンパイルします。
javac mypack/MyClass.java Main.java

ログイン後にコピー
  1. プログラムの実行 現在の作業ディレクトリからプログラムを実行するか、-classpath を指定します。
java Main

ログイン後にコピー

または

java -classpath . Main

ログイン後にコピー

説明:
現在の作業ディレクトリ: 現在のディレクトリが mypack の上にある場合、パッケージは見つかります。
CLASSPATH: mypack ディレクトリを含めるように構成できます。
-classpath オプション: 実行中に mypack のパスを示すために使用できます。

プログラム出力:

Pacote mypack encontrado!

ログイン後にコピー

以上がパッケージとクラスパスの検索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート