2

パッケージに 2 つの Java クラスがあります。あるクラスのオブジェクトを別のクラスに作成したいのですが、エラー メッセージ ERROR: cannot find symbol が表示されます。

package pckg;
public class aa{
   private String name;
   public aa(){} //Constructor of aa class
   public void setName(String name){this.name=name;}
   public String getName(){return name;}
}

package pckg;
public class bb{
   aa obj = new aa(); //This line gives error message

   public bb(){} //Constructor of bb class

} 

両方のクラスが同じフォルダー pckg にあります。

エラーメッセージ:

D:\Java\mypack>cd..

D:\Java>cd pckg

D:\Java\pckg>set path=d:\java\jdk1.5\bin

D:\Java\pckg>javac aa.java

D:\Java\pckg>javac bb.java
bb.java:3: cannot find symbol
symbol  : class aa
location: class pckg.bb
aa obj = new aa(); //This line gives error message
^
bb.java:3: cannot find symbol
symbol  : class aa 
location: class pckg.bb
aa obj = new aa(); //This line gives error message
            ^
2 errors
4

3 に答える 3

1

コードに問題はありません。パッケージ内の他のクラスと名前が競合している可能性があります。

于 2012-11-25T14:39:03.403 に答える
1
D:\Java\ > javac -classpath . pckg\aa.java
D:\Java\ > javac -classpath . pckg\bb.java

クラスパスを指定しないと、javac は既にコンパイルされたクラスの場所を認識できません。

また、Java ではクラスは大文字で始める必要があります。また、ソース ファイルとクラス ファイルに同じディレクトリを使用することは避けます。ソースを d:\Java\src 内に配置し、クラスを D:\Java クラス内に配置することをお勧めします。次に、次のコマンドを使用してすべてを一度にコンパイルします。

D:\Java\ >javac -cp classes -d classes src\pckg\*.java
于 2012-11-25T15:00:25.210 に答える
0

試す

javac -cp . *.java

'pckg'ディレクトリ内にいると仮定します。

@JBNizetはすでに答えたと思います。

于 2012-11-25T15:03:47.017 に答える