本帖最后由 全海波 于 2012-7-19 12:44 编辑
- package testSomething;
- import java.util.ArrayList;
- import java.util.List;
- class TestConstructorBlock
- {
- /**
- * @param args
- */
-
- // private String name;
-
- public static void main(String[] args)
- {
- // TODO Auto-generated method stub
- //创建本类对象
- TestConstructorBlock t = new TestConstructorBlock();
-
- //在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
- //在运行时期:参阅对象所属的类中是否有调用的方法。
- //A a1 = new a();
- //a1.show();
-
- //list.add(a1);
- }
-
-
- List<a> list = new ArrayList<a>();
- //构造代码块,用于初始化所有的对象
-
- {
- //向上转型
- a a1 = new A();
- //将a1对象添加到集合当中去
- list.add(a1);
- }
-
- }
- interface A
- {
- public void shwo();
- }
- class a implements A
- {
- @Override
- public void shwo()
- {
- // TODO Auto-generated method stub
- System.out.println("this is from A.");
- }
- }
复制代码 报错的原因是:在windows环境下,由于window是不区分大小写的,
所以当你编译出来的A.class文件与a.class文件,
重名a.class文件将A.class文件进行了覆盖,所以就会导致找不到那个文件
希望可以帮到你 |