本帖最后由 李晓旭 于 2012-3-21 18:09 编辑
- class Car
- {
- void doStuff(Drive d)
- {
- //进来的d对象没有任何动作
- }
- }
- interface Drive
- {
- void drive();
- }
- class Test
- {
- static void go()
- {
- Car c = new Car();
- class DriveZi implements Drive //还原的内部类
- {
- /*
- public DriveZi //构造函数
- {
-
- }
- */
- public void drive() //覆盖接口的方法
- {
- System.out.println("driving a car");
- }
- }
- Drive dz = new DriveZi();//初始化时没有构造函数被调用,所以没有任何操作
- c.doStuff(dz);//调用了doStuff方法
- }
- public static void main(String [] s)
- {
- go();
- }
- }
复制代码 把内部类还原,然后看看,到底有没有调用那句sop
发现你只是覆盖了接口中的函数,并没有地方调用 |