黑马程序员技术交流社区

标题: 帮看看程序 [打印本页]

作者: 320215787    时间: 2016-5-8 17:08
标题: 帮看看程序
interface A {
        public void fun1();
}

class Outer {
        public void get(A a) {
                a.fun1();
        }
}

public class Test {
        public static void main(String[] args) {
                class Inner implements A {
                        public void fun1() {
                                System.out.println("111111");
                        }
                }
                new Outer().get(new Inner());
        }
}
谁能给解释下程序
作者: strliu    时间: 2016-5-8 18:48
没学几天的完全小白,求大家多指导指导
interface A
{
         public void fun1();
}
//创建一个外部类
class Outer
{
        //创建一个get方法
      public void get(A a) //A a = new Inner(多态)  
                 {
                 a.fun1();//调用内部类Inner的fun1方法(本程序中)
         }
}

public class Test
{
         public static void main(String[] args)
                 {
                 class Inner implements A //创建一个内部类Inner,并实现A接口
                                 {
                                            //要复写接口中的方法
                         public void fun1()
                                                 {
                                 System.out.println("111111");
                         }
                 }
                                 //创建一个Outer外部类对象并运行get方法
                 new Outer().get(new Inner());
         }
}
作者: 老司机喔    时间: 2016-5-8 19:05
不知道思路对不对,
在get方法中,把 Inner 的匿名对象作为参数类型:A a=new Inner();
Inner实现interface A,因为存在多态,所以执行Inner中的fun1(),打印111111.




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