import问题???

NASA010 2010-01-28 06:59:11
package com.bruceeckel.simple;

public class List {
public List() {
System.out.println("com.bruceeckel.util.List");
}
}
编译完成,生成目录 .class已在目录中。


import com.bruceeckel.simple.*;

public class LibTest {

public static void main(String[] args) {
List l = new List();
}
}

javac LibTest.java 报错无法访问List

把当前目录中的List.java删除或放到其他目录就能编译通过!这是为什么啊?谢谢高人解答!
...全文
103 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
重返春季 2010-01-29
  • 打赏
  • 举报
回复
List这个名字和 java.util 接口 List有冲突 !
WPooh 2010-01-29
  • 打赏
  • 举报
回复
学习。
NASA010 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 pan_junbiao 的回复:]
系统中已经有List类了,自己定义的类名就不要用List,你试试改为MyList。
[/Quote]
与名字无关!
pan_junbiao 2010-01-28
  • 打赏
  • 举报
回复
我的上贴错了,是List接口才对
pan_junbiao 2010-01-28
  • 打赏
  • 举报
回复
系统中已经有List类了,自己定义的类名就不要用List,你试试改为MyList。
NASA010 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cangyingzhijia 的回复:]
classpath指定了吗
[/Quote]
classpath指定到com.bruceeckel.simple
用import com.bruceeckel.simple.*; 也是报错,跟目录就不能出现List.java
NASA010 2010-01-28
  • 打赏
  • 举报
回复
我百度了百度!找到个靠谱的答案!供大家参考下

{
解析:那是因为,写为
import com.bruceeckel.simple.*;
时,List.java和LibTest.java都放在根目录下,就是说当List.java和LibTest.java在同一个文件夹中时,编译LibTest.java,编译器就在当前目录下寻找是否有List.class,没有所以就报错。

但是,如果是
import com.bruceeckel.simple.List;
编译器就会直接按照所给路径寻找类List。

建议,引入自定义包中类时,把包名和类都写出来。
}

苍蝇①号 2010-01-28
  • 打赏
  • 举报
回复
classpath指定了吗
chenjian361 2010-01-28
  • 打赏
  • 举报
回复
还是不太懂,我觉得应该可以的。
NASA010 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gao512008 的回复:]
引用 5 楼 nasa010 的回复:
引用 3 楼 pjw100 的回复:
你看看你是否能够import com.bruceeckel.simple.List,只能提示会有的,如果能import进来就能用。

这么写是可以!但我想知道import com.bruceeckel.simple.*;   问什么要把.java移除了就能通过,跟.java有啥关系???
和你当前文件的目录有关系
[/Quote]

不太明白?~ ~ 能再说具体些吗???
gao512008 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 nasa010 的回复:]
引用 3 楼 pjw100 的回复:
你看看你是否能够import com.bruceeckel.simple.List,只能提示会有的,如果能import进来就能用。

这么写是可以!但我想知道import com.bruceeckel.simple.*;  问什么要把.java移除了就能通过,跟.java有啥关系???
[/Quote]和你当前文件的目录有关系
NASA010 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pjw100 的回复:]
你看看你是否能够import com.bruceeckel.simple.List,只能提示会有的,如果能import进来就能用。
[/Quote]
这么写是可以!但我想知道import com.bruceeckel.simple.*; 问什么要把.java移除了就能通过,跟.java有啥关系???
pjw100 2010-01-28
  • 打赏
  • 举报
回复
智能提示。
pjw100 2010-01-28
  • 打赏
  • 举报
回复
你看看你是否能够import com.bruceeckel.simple.List,只能提示会有的,如果能import进来就能用。
一头头 2010-01-28
  • 打赏
  • 举报
回复
public static void main(String[] args){

com.bruceeckel.simple.List l = new com.bruceeckel.simple.List();

}


这样就可以了
fancy161 2010-01-28
  • 打赏
  • 举报
回复
类名别用List,换个别的名字,你这个名字和 java.util 接口 List有冲突

62,614

社区成员

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

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