散分了,请各位帮忙:)

hericong 2004-05-03 09:42:27
我这样写两个类
package com.fu;
public class A
{
private String a;
}

package com.fu;
public class B
{
private A a;
}
用javac编译A通过,但编译B时提示无法处理的标志符A。
请问是为什么,在线等待,谢谢!
...全文
36 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqr7303 2004-05-03
  • 打赏
  • 举报
回复
应该不会是其他的原因,一个类引用另外一个自定义类,如果这两个类的.java文件都在同一个目录下的话,那么你就可以直接用javac进行编译,如果象你上面的那样想把他们放在一个你所指定的包里面,那么就需要在javac编译时加个“-d”参数,让生成的.class文件能保存到你所指定的包里面。但要注意的是"-d"后要加一个"."来表示是在当前目录下生成这个包的。

如上面的可以这样编译:javac -d . A.java
javac -d . B.java

试试!!
rombus 2004-05-03
  • 打赏
  • 举报
回复
up
hericong 2004-05-03
  • 打赏
  • 举报
回复
有没有可能是别的原因呢?一个类引用另外一个自定义类,用javac编译时都要加-d参数吗
hericong 2004-05-03
  • 打赏
  • 举报
回复
谢谢:)我一会回去试验一下,我在网吧。
nettman 2004-05-03
  • 打赏
  • 举报
回复
javac编译时加个“-d”参数!
Ranmei 2004-05-03
  • 打赏
  • 举报
回复
classpath=.;......
Ranmei 2004-05-03
  • 打赏
  • 举报
回复
在同一个目录是不用import的吧
你的classpath加入当前目录了吗?
xiangbo520 2004-05-03
  • 打赏
  • 举报
回复
package com.fu;
import com.fu.A;
public class B
{
A a=new A();
private A a;
}
你的类没有引入啊!必须import进来后才能使用,因为他们在不同的包下面啊!
VVV_lucky 2004-05-03
  • 打赏
  • 举报
回复
假如你的目录结构是
E:\myjava\com\fu

你编译的命令应该是:
javac -classpath e:\myjava B.java
顽皮小熊 2004-05-03
  • 打赏
  • 举报
回复
大哥,
第二个类这样写:
package com.fu;
import com.fu.A;
public class B
{
A a=new A();
private A a;
}

赶快结帖!!!!
crazycy 2004-05-03
  • 打赏
  • 举报
回复
这样来试试
在com/fu目录下 javac *.java

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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