首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

import xxx.的有关问题

2012-02-08 
import xxx.*的问题//C1.java:packagemypackpublicclassC1{}//C2.javaimportmypack.*classC2{C1c1newC1

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 自动生成包

热点排行