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删除或放到其他目录就能编译通过!这是为什么啊?谢谢高人解答!

解决方案 »

  1.   

    类名别用List,换个别的名字,你这个名字和  java.util 接口 List有冲突
     
      

  2.   

    public static void main(String[] args){com.bruceeckel.simple.List l = new com.bruceeckel.simple.List(); }这样就可以了
      

  3.   

    你看看你是否能够import com.bruceeckel.simple.List,只能提示会有的,如果能import进来就能用。
      

  4.   

    这么写是可以!但我想知道import com.bruceeckel.simple.*;   问什么要把.java移除了就能通过,跟.java有啥关系???
      

  5.   

    我百度了百度!找到个靠谱的答案!供大家参考下{
    解析:那是因为,写为
    import com.bruceeckel.simple.*; 
    时,List.java和LibTest.java都放在根目录下,就是说当List.java和LibTest.java在同一个文件夹中时,编译LibTest.java,编译器就在当前目录下寻找是否有List.class,没有所以就报错。但是,如果是
    import com.bruceeckel.simple.List;
    编译器就会直接按照所给路径寻找类List。建议,引入自定义包中类时,把包名和类都写出来。
    }
      

  6.   

    classpath指定到com.bruceeckel.simple
    用import com.bruceeckel.simple.*; 也是报错,跟目录就不能出现List.java
      

  7.   

    系统中已经有List类了,自己定义的类名就不要用List,你试试改为MyList。
      

  8.   

    我的上贴错了,是List接口才对
      

  9.   

    List这个名字和  java.util 接口 List有冲突 !