无法将java类的Object放在另一个类中

时间:2012-11-25 14:37:13

标签: java

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

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

3 个答案:

答案 0 :(得分:1)

您的代码没有问题,可能与您的包中的其他类名称冲突。

答案 1 :(得分: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

答案 2 :(得分:0)

尝试

javac -cp . *.java

假设您在'pckg'目录内。

@JB Nizet已经回答了我的想法。