关于package的问题?java源文件会妨碍对package 所在路径的搜索么?

lh_lihong 2004-08-28 06:29:44
java源文件会妨碍对package 所在路径的搜索么?

当定义了一个package时
package com.bruceeckel.simple;
public class List{
...
}
classpath 为 c:\java;
当前的源文件也在c:\java下,如果生成package后,会产生如下路径
c:\java\com\bruceeckel\simple; List.class在此路径下。
但是如果在c:\java\libtest.java 中包括这样的语句:
import com.bruceeckel.simple;


public class Libtest{
public static void main(){
List l = new List();
....
}

编译器报错:cannot access List;
如果把c:\java\List.java文件删除,就正确了。
这是什么原因,难道搜索路径中的源文件妨碍对 .class文件的搜索么?




...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lh_lihong 2004-08-28
  • 打赏
  • 举报
回复
import 语句是我抄写错,但程序中没有错.
import com.bruceeckel.simple.*;

不相信你们可以试一下,THINKING IN JAVA 第三版,5章LibTest.java和VECTOR.JAVA,LIST.JAVA,放在当前路径编译,就出现CANNOT ACCESS错误.
我在JCREATOR 和NETBEANS 下都得到错误的编译信息.
xuyang821225 2004-08-28
  • 打赏
  • 举报
回复
不会!!!!
jerrysoft 2004-08-28
  • 打赏
  • 举报
回复
应该不会,只和classpath有关的。
编译器会把所有classpath的路径作为根节点,再根据import的路径来寻找要导入的类文件。
你的import语句好像有点问题,应该把目标类名写进去:
import com.bruceeckel.simple.List;
or
import com.bruceeckel.simple.*;
后一种是把此包内的所有类文件导入,这很方便,但是有时候会导入很多多余的类文件,浪费资源。
为了效率,建议以后避免使用后一种写法,很多项目是规约禁止使用它的。

PS.
兄弟们,我有一个问题沉了,麻烦大家帮我顶一顶!
http://community.csdn.net/Expert/topic/3316/3316581.xml?temp=.6280023

62,616

社区成员

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

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