散分了,请各位帮忙:)
我这样写两个类
package com.fu;
public class A
{
private String a;
}
package com.fu;
public class B
{
private A a;
}
用javac编译A通过,但编译B时提示无法处理的标志符A。
请问是为什么,在线等待,谢谢!
问题点数:0、回复次数:11Top
1 楼nettman(nm)回复于 2004-05-03 09:57:27 得分 0
javac编译时加个“-d”参数!Top
2 楼hericong(ifly)回复于 2004-05-03 10:02:28 得分 0
谢谢:)我一会回去试验一下,我在网吧。Top
3 楼hericong(ifly)回复于 2004-05-03 10:15:25 得分 0
有没有可能是别的原因呢?一个类引用另外一个自定义类,用javac编译时都要加-d参数吗Top
4 楼rombus(努力事业)回复于 2004-05-03 10:59:32 得分 0
upTop
5 楼hqr7303(rong)回复于 2004-05-03 11:06:52 得分 0
应该不会是其他的原因,一个类引用另外一个自定义类,如果这两个类的.java文件都在同一个目录下的话,那么你就可以直接用javac进行编译,如果象你上面的那样想把他们放在一个你所指定的包里面,那么就需要在javac编译时加个“-d”参数,让生成的.class文件能保存到你所指定的包里面。但要注意的是"-d"后要加一个"."来表示是在当前目录下生成这个包的。
如上面的可以这样编译:javac -d . A.java
javac -d . B.java
试试!!Top
6 楼crazycy(崔毅,blog:http://www.blogjava.net/crazycy/)回复于 2004-05-03 13:04:29 得分 0
这样来试试
在com/fu目录下 javac *.javaTop
7 楼happyxyzw(happyxyzw)回复于 2004-05-03 13:17:58 得分 0
大哥,
第二个类这样写:
package com.fu;
import com.fu.A;
public class B
{
A a=new A();
private A a;
}
赶快结帖!!!!Top
8 楼VVV_lucky(*太阳*)回复于 2004-05-03 13:27:12 得分 0
假如你的目录结构是
E:\myjava\com\fu
你编译的命令应该是:
javac -classpath e:\myjava B.java
Top
9 楼xiangbo520(充栋汗牛)回复于 2004-05-03 14:47:45 得分 0
package com.fu;
import com.fu.A;
public class B
{
A a=new A();
private A a;
}
你的类没有引入啊!必须import进来后才能使用,因为他们在不同的包下面啊!Top
10 楼Ranmei(转向java)回复于 2004-05-03 16:04:48 得分 0
在同一个目录是不用import的吧
你的classpath加入当前目录了吗?
Top
11 楼Ranmei(转向java)回复于 2004-05-03 16:05:10 得分 0
classpath=.;......Top




