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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们知道匿名内部类最大的缺点就是如果它继承的类或实现的接口里方法太多,重写会造成匿名内部类代码太多从而失去简写的意义。
那我们可不可以这样:用到那个方法就重写那个方法,或者只用到自己特有方法时一个也不用重写。就像使用Object作为父类运行自己的特哟方法function一样。代码如下:
  1. class  NiMing
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 new Object()
  6.                 {
  7.                         public void function()
  8.                         {
  9.                                 System.out.println("function run");
  10.                         }
  11.                 }.function();
  12.         }
  13. }
复制代码

可以么?

3 个回复

倒序浏览
这都可以???回头试试,感觉不靠谱啊
回复 使用道具 举报
大家都努力哦
回复 使用道具 举报
可以是可以,不过当它继承的类或实现的接口里方法有2到3个时,你就要重复
                 new Object()
                 {
                        public void function()
                        {
                                System.out.println("function run");
                        }
                }.function();
这段代码,这就失去了匿名内部类的简写效果,看起来还是一大片的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马