编译同一个package下的多个文件时,显示错误:找不符号

sinat_22174587 2015-11-22 12:55:26
初学者,代码很简单,写了两个位于同一个package下的类。

//Animal.java
package com.test.entity;

public class Animal {
private String eat;
private String run;

public String getEat() {
return eat;
}

public void setEat(String eat) {
this.eat = eat;
}

public String getRun() {
return run;
}

public void setRun(String run) {
this.run = run;
}
}



//Dog.java
package com.test.entity;

import com.test.entity.*;

public class Dog {
public static void main(String[] args) {
Animal dog = new Animal();
String dogEat;
String dogRun;
dog.setEat("小狗吃骨头!");
dog.setRun("小狗喜欢动!");
dogEat = dog.getEat();
dogRun = dog.getRun();
System.out.print(dogEat + dogRun);
}
}



其中,Dog.java调用了Animal.java这个类。
编译时,先编译Animal.java,编译成功。
再编译Dog.java,就出现找不到符号的错误。如下图。

而如果使用javac *.java同时编译两个文件时,就不会报错了。。。
真心求解这个问题该如何解决!!!谢谢!!!
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_22174587 2015-11-24
  • 打赏
  • 举报
回复
想问下,classpath该如何设置呢。。。
  • 打赏
  • 举报
回复
设置的classpath的问题,除了java标准包,自己定义的包要和classpath类路径匹配。比如,你Animal类package在aa\bb下,编译器是不会判断你放的实际位置对不对,编译成功的话会在当前位置,或者你指定的位置生成class文件。 在Dog类,使用了Animal类,虽然你import了,编译器会在导入包里寻找Animal类,如果你的classpath设置的是d:\classdir,就会在d:\classdir\aa\bb下查找,如果你的Animal类不在这个路径就会报错。 你可以试试把Animal.class文件拷贝到d:\classdir\aa\bb路径下,再运行就不会报错了

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧