匿名内部类

Posted siyyawu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名内部类相关的知识,希望对你有一定的参考价值。

  1 package InnerClass;
  2 
  3 
  4 
  5 /**
  6  * 匿名内部类
  7  * @author SiyyaWu
  8  */
  9 public class AnonymousInnerClass 
 10 
 11     public static void main(String[] args) 
 12         // TODO Auto-generated method stub
 13     
 14     
 15     
 16     /**
 17      * 匿名内部类简化写法
 18      * @author SiyyaWu
 19      * @param x
 20      * @return
 21      */
 22     public Contents1 contents(final int x)
 23         return new Contents1()
 24             public int value()
 25                 return super.value()*x;
 26             
 27             @Override
 28             public void run() 
 29                 // TODO Auto-generated method stub
 30                 System.out.println("抽象方法");
 31             
 32         ;
 33     
 34     
 35     /**
 36      * 匿名内部类完整写法
 37      * @author SiyyaWu
 38      */
 39     public class MyContents extends Contents1
 40         private int x;
 41         public MyContents(int x)
 42             this.x=x;
 43         
 44         public int value()
 45             return super.value()*x;
 46         
 47         @Override
 48         public void run() 
 49             // TODO Auto-generated method stub
 50             System.out.println("抽象方法");
 51         
 52     
 53     
 54     public Contents1 contentsAll(int x)
 55         return new MyContents(x);
 56     
 57     
 58     /**
 59      * 匿名内部类正常写法
 60      * @author SiyyaWu
 61      */
 62     class Contents2Impl implements Contents2
 63 
 64         @Override
 65         public int value() 
 66             // TODO Auto-generated method stub
 67             return 5;
 68         
 69     
 70         public Contents2 contents2All()
 71             return new Contents2Impl();
 72         
 73     
 74     /**
 75      * 匿名内部类的简化写法
 76      * @author SiyyaWu
 77      * @return
 78      */
 79     public Contents2 contents2()
 80         return new Contents2() 
 81 
 82             @Override
 83             public int value() 
 84                 // TODO Auto-generated method stub
 85                 return 5;
 86             
 87             
 88         ;
 89     
 90 
 91 
 92 /**
 93  * 抽象类
 94  * @author SiyyaWu
 95  */
 96 abstract class Contents1
 97     public int i=2;
 98     public int value()
 99         return i;
100     
101     public abstract void run();
102 
103 
104 
105 /**
106  * 接口
107  * @author SiyyaWu
108  */
109 interface Contents2
110     public int value();
111 

 

以上是关于匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章

50java 匿名内部类剖析

代码片--练习匿名内部类

匿名内部类创建线程,简化线程创建代码

关于接口配合匿名内部类使用的问题讲究

java内部类之成员内部类之匿名内部类

匿名内部类