私はJavaを使い慣れていないので、コードがあまりにも愚かに見える場合は、私にご負担ください。 :-)別のクラスから別のクラスにアクセスする(両方とも同じパッケージ内にある)
私は何を達成しようとしていることは簡単です:これもクラスがあるディレクトリの名前です(同じパッケージfind_class
の両方の一部である2つのクラスClassA
とClassB
を、定義
だから、次のように私のファイルである。
ClassA.java
package find_class;
public class ClassA {
public void func() {
}
}
ClassB.java
package find_class;
import find_class.ClassA;
public class ClassB {
public static void main(String[] args) {
ClassA a = new ClassA();
}
}
私はClassB
をコンパイルすると、私はエラーの数に実行します。
find_class$ javac ClassB.java
ClassB.java:3: error: cannot find symbol
import find_class.ClassA;
^
symbol: class ClassA
location: package find_class
ClassB.java:7: error: cannot find symbol
ClassA a = new ClassA();
^
symbol: class ClassA
location: class ClassB
ClassB.java:7: error: cannot find symbol
ClassA a = new ClassA();
^
symbol: class ClassA
location: class ClassB
3 errors
私は任意のIDEを使用していないと、次のようにディレクトリ構造は次のとおりです。
find_class
- ClassA.java
- ClassB.java
私は間違って何をしていますか?
インポートを削除します。find_class.ClassA; – bane19
IDEを使用していますか?良いIDEは、あなたにこれらの問題を指摘し、それらを解決するのを手伝います。 –
プロジェクトのビルドパスのパッケージ構造を確認してください。あなたのクラスはfind_classディレクトリにありますが、ビルドパスの/ project/srcになります – Zia