匿名内部类

1.形式

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

2.使用场景

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

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

  

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

 

  

 

 

posted @ 2017-04-04 23:45  wqkant  阅读(132)  评论(0编辑  收藏  举报