1

私はこれまでこれをやろうとしたことがなく、少し困惑しています。同じパッケージ内の 2 つのクラス:

package test;

public class One {
    public static String test () { return "hello world"; }
}   

と:

package test;

public class Two {
    public static void main (String[] args) {
        System.out.println(One.test());
    }
}

javac Two.java test/ ディレクトリ内で試してみると、One の「シンボルが見つかりません」というメッセージが表示されます。ただし、親ディレクトリからjavac test/Two実行すると、コンパイルされて実行できるようになりますがjava test/Two、内部からではありません ( クラスの適切な名前が ではないことを示すNoClassDefFoundErrorがスローされます)。test/TwoTest

大したことではありませんが、それを回避するより良い方法があるかどうか、そして誰かが私が問題を理解するのを手伝ってくれるかどうか興味があります. 実際には、「Two」をテスト パッケージの正式なメンバーにする必要はありません。同じディレクトリに置いて、そこでコンパイルできるようにする必要があるだけです。

4

1 に答える 1