散分了,请各位帮忙:)

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。
请问是为什么,在线等待,谢谢!
...全文
12 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-05-03 09:42
社区公告
暂无公告