【J2SE】Anonymous Inner Class 匿名内部类

本文转自:

public class TestAnonymousInterClass{  
    public static void main(String args[]){  
         TestAnonymousInterClass test=new TestAnonymousInterClass();  
         test.show();  
     }  
    //在这个方法中构造了一个匿名内部类  
    private void show(){  
         Out anonyInter=new Out(){// 获取匿名内部类实例  
              
            void show(){//重写父类的方法  
                 System.out.println("this is Anonymous InterClass showing.");  
             }  
         };  
         anonyInter.show();// 调用其方法  
     }  
}   
  
// 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现  
class Out{  
    void show(){  
         System.out.println("this is Out showing.");  
     }  
}

所以在这里看出,匿名内部类有了自己的实现。其实很简单,使用匿名内部类是因为我这地方需要有点什么特殊的实现,所以我就在这地方把具体实现也给了出来了。然后我就在这地方获取它的实例,调用它的方法。
   接口的方式,只要把父类换成接口就行了,没必要给出代码了。

   使用匿名内部类时我们不要忘了我们的目的,我们只是在这地方想对某个类有特殊的实现。而不要想得太多,在匿名内部编写其它的方法。在匿名内部类中编写的自己的方法是不可见的。此种做法是毫无意义的,当然一般也不会这么做。在这里只是告诉初学者对于匿名内部类不要想的太多,而要这么想:匿名内部类就是重写父类或接口的方法。

你可能感兴趣的:(inner class)