匿名内部类

Posted wqkant

tags:

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

1.形式

new 父类构造器(参数列表)| 实现接口() {  
     //匿名内部类的类体部分  
    }
//必须要继承一个父类或者实现一个接口(二选一)
//不能定义构造函数
//不能存在任何的静态成员变量和静态方法
//匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效
//必须要实现继承的类或者实现的接口的所有抽象方法(非抽象)。
//构造代码块可初始化内部类
//形参为final

2.使用场景

//只用到类的一个实例。   
//类在定义后马上用到。
//类非常小(SUN推荐是在4行代码以下) .。

3.为什么匿名内部类的参数引用为final

  

//内部类包含一个指向外部类的引用,从而访问外部属性(形成闭包)
//java编译器对闭包不完全支持(只实现值捕获,修改外部属性不能保证同步)

 

  

 

 

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

50java 匿名内部类剖析

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

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

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

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

匿名内部类