私が最近作成したクラスのインスタンスを作成するコードをコンパイルしようとするたびに、このJavaコンパイルエラーが発生しました。私は手動でコンパイルしようとしましたが、別の場所からコンパイルして、セーフモードでコンパイルしようとしました。私はまた、コンピュータにJavaを完全に再インストールしました。ここで私が書くコードと私は常に取得エラーの例です:
インスタンス作成者クラス:Javaによって作成されたオブジェクトがコンパイルされない
public class Nothing {
public static void main(String args[]) {
Can World = new Can();
}
}
インスタンス化されるクラス:
public class Can {
public Can() {
System.out.println("Test");
}
}
コンパイルエラー:
Nothing.java:4: cannot find symbol
symbol : class Can
location: class Nothing
Can World = new Can();
^
Nothing.java:4: cannot find symbol
symbol : class Can
location: class Nothing
Can World = new Can();
^
2 errors
私よりもJavaを良く知っている人は、問題があったファイルをコンパイルしようとしましたが、成功しませんでした。また、Eclipse内でコードを実行すると、自分のIDEが実行されるようになります。
すべての提案や解決策は、本当に高く評価されます。私はこのような何かが私のプログラミングを妨げるものであることを本当に嫌うでしょう。再度、感謝します。
編集:私は最近このエラーを受け取るまで、このようなクラスをコンパイルすることができました。私はEclipse IDEで作成した外部ツールを使用してコンパイルしていますが、CMDウィンドウで2つのファイルがあるディレクトリに移動し、javac Nothing.javaを使用してコンパイルしてみましたが、同じエラーが発生します。私はCan.javaを最初に(コンパイルして)コンパイルしてからNothing.javaをコンパイルしようとしましたが、これも失敗します。 (もちろん、Can.javaとNothing.javaという名前の)あなたが別々のファイルに各クラスのために提示したコードを入れて持つことにより
02/09/2011 06:44 PM <DIR> .
02/09/2011 06:44 PM <DIR> ..
02/09/2011 03:45 PM 289 .classpath
02/09/2011 03:45 PM 382 .project
02/09/2011 03:45 PM <DIR> .settings
02/09/2011 06:00 PM 75 Can.java
02/09/2011 05:49 PM 102 Nothing.java
4 File(s) 848 bytes
3 Dir(s) 64,669,216,768 bytes free
C:\Users\Alex\Mindstorms\NXT\leJOS NXJ\Moment>javac Nothing.java
Nothing.java:4: cannot find symbol
symbol : class Can
location: class Nothing
Can World = new Can();
^
Nothing.java:4: cannot find symbol
symbol : class Can
location: class Nothing
Can World = new Can();
^
2 errors
ため
おかげで、同じファイル内の両方のクラスはありますか?、私ができるクラス何もクラス内で宣言された意味ですか?、ない場合、あなたはそれを –
@Chuck、2つのパブリッククラスをインポートする必要があります同じファイルに存在することはできません(もしそうであれば、彼はそれに対してエラーを起こすでしょう)ので、そうではありません。 –
@Chuck Birkin:どちらのクラスも公開されています。もしそれらが同じファイルにコンパイルされていないのですが、エラーは "クラスCanはpublicです。Can.javaというファイルで宣言されるべきです。 public class Can {"かそれに類するものです。 – GreenMatt