黑马程序员技术交流社区

标题: 匿名内部类诸多问题 [打印本页]

作者: Bellriver    时间: 2016-5-6 21:53
标题: 匿名内部类诸多问题
例如: interface inte {
         public void show();
}
  class NoNameClass {
          public static void main(String[] args){
                new inte(){
                        public void show(){
                                System.out.println("匿名内部类");
                        }
                }.show();
          method(new inte(){
                public void show(){
                        System.out.println("匿名内部类传值");
                }
          });
          }
          public static void method(inte e){
                e.show();
          }
  }


程序中粗体字的代码怎么理解,这段匿名内部类怎么实现的,怎么演变过来的?

作者: Bellriver    时间: 2016-5-6 21:54
求大神指点,这段代码一直看不懂,但知道怎么用,就是不理解!!!
作者: LiuWei2015    时间: 2016-5-16 19:10
匿名内部类,你这种写法其实在安卓里面很常用到,尤其是回调方法用的很多,要好好理解
作者: scalar    时间: 2016-5-16 20:38
  new inte(){
                        public void show(){
                                System.out.println("匿名内部类");
                        }
                }.show();
这里声明了一个匿名内部类,它实现了inte接口里的show方法(大括号中的内容)。这个匿名内部内没有名字,只是实现了接口inte的show方法。当然你也可以重新定义一个类implements inte接口,然后再在这个类里面重写show方法。不过这样写要比匿名内部内来的繁琐。




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