2

我在一个包中有两个 java 类。我想将一个类的对象创建到另一个类中,但它给出了错误消息 ERROR:找不到符号。

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”目录中。

我想@JB Nizet 已经回答了。

于 2012-11-25T15:03:47.017 回答