读书人

import xxx.的有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

import xxx.*的问题
//C1.java:
package mypack;
public class C1
{
}

//C2.java
import mypack.*;
class C2
{
C1 c1 = new C1();
}

//C3.java
import mypack.C1
class C3
{
C1 c1 = new C1();
}
编译C2.java时出现如下问题:
D:\C2.java:5: cannot access C1
bad class file: .\C1.java
file does not contain class C1
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
C1 c1 = new C1();
^
1 error

但是编译C3时却没有任何问题!

请高手指点!

[解决办法]
不能啊,我编译C3也是报同样的错误啊。
[解决办法]
楼主不要说是都放在同一个目录下在编译啊
[解决办法]
C2的问题是 自定义的包是不能用*导入的!!!!
[解决办法]
在cmd下,编译java文件后产生的.class字节码文件没有放在包里的,所以需要建立mypack,把相应的.class文件放在这个目录下,IDE工具下可以自动建立mypack
[解决办法]
关键在于package mypack;这句话
这句话是包的声明

import mypack.*;会在mypack文件夹下找C1
但是它找不到,找到的是带mypack的C1
你把package mypack;去掉然后自己建立一个文件夹把C1.class放进去就可以了

import mypack.C1;找的是mypack文件下带package mypack;的C1
也就是默认类名是mypack.C1
如果按上面的做就编译错误

总结
import mypack.*;是按文件名
import mypack.C1;是按类名

[解决办法]
如果在同一个包下。。。
[解决办法]
用java -d 自动生成包

读书人网 >J2SE开发

热点推荐