A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Bellriver 中级黑马   /  2016-5-6 21:53  /  742 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

例如: 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();
          }
  }


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

评分

参与人数 1黑马币 +8 收起 理由
LiuWei2015 + 8 new inte是匿名子类

查看全部评分

3 个回复

正序浏览
  new inte(){
                        public void show(){
                                System.out.println("匿名内部类");
                        }
                }.show();
这里声明了一个匿名内部类,它实现了inte接口里的show方法(大括号中的内容)。这个匿名内部内没有名字,只是实现了接口inte的show方法。当然你也可以重新定义一个类implements inte接口,然后再在这个类里面重写show方法。不过这样写要比匿名内部内来的繁琐。
回复 使用道具 举报
匿名内部类,你这种写法其实在安卓里面很常用到,尤其是回调方法用的很多,要好好理解
回复 使用道具 举报
求大神指点,这段代码一直看不懂,但知道怎么用,就是不理解!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马