黑马程序员技术交流社区

标题: 请问你们遇见过这样的情况吗?源文件和API里的类同名 [打印本页]

作者: HM朱蛟    时间: 2013-3-29 04:55
标题: 请问你们遇见过这样的情况吗?源文件和API里的类同名
本帖最后由 HM朱蛟 于 2013-3-29 08:20 编辑

今天学习集合框架的时候遇见个这个问题

我写一个源文件,文件名为List.java里面有这样的语句        
List sub = al.subList(1,3);         sop("sub="+sub);

于是编译报错:

List.java:80: 无法访问 List
错误的类文件: .\List.java
文件不包含类 List
请删除该文件或确保该文件位于正确的类路径子目录中。
         List sub = al.subList(1,3);
         ^

我后来将源文件名改成ListDemo过后就通过编译了,请问这是什么情况?



作者: 曹睿翔    时间: 2013-3-29 07:21
http://bbs.itheima.com/thread-40023-1-1.html
看看这个帖子
1、public 修饰的类名要与文件名一致(一个.java文件中最多有一个public修饰的类)
2、最好不要用java的关键字、java的API包中的类名,去命名文件名,这个错误就算你用eclipse也不会提示
作者: HM朱蛟    时间: 2013-3-29 08:20
本帖最后由 HM朱蛟 于 2013-3-29 08:32 编辑
曹睿翔 发表于 2013-3-29 07:21
http://bbs.itheima.com/thread-40023-1-1.html
看看这个帖子
1、public 修饰的类名要与文件名一致(一个.j ...

感谢了!!! 顺着链接的思路找到了   ~~  谢谢啊

源文件与类重名.png (95.97 KB, 下载次数: 58)

源文件与类重名.png

作者: 黄小贝    时间: 2013-3-29 15:59
如果你实在需要重名,需要用自己的类加载器加载~~~默认加载的是JDK里面的同名类~~
作者: fighting    时间: 2013-3-29 17:08
如果类名与JDK中的类名一致的话,可以在使用类的时候加上包名,
如果包名也一样的话,那就无语了,要么改你的包名,要么你把JDK改了。。。
尽量避免重名的情况发生




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2