Java-匿名内部类个人小总结

1、概念
(1)匿名内部类就是没有名称的内部类,没办法引用他们,必须在创建时作为new语句的一部分来声明并创建他们的实例。
(2)匿名内部类必须继承一个类或是实现一个接口,如果父类是抽象类,则匿名内部类必须实现它所有的抽象方法
(3)匿名内部类可以定义代码块,由于实例的初始化,但是不能定义静态的代码块。
(4)匿名内部类不能定义构造方法,匿名内部类没有类名,无法定义构造方法,但是,匿名内部类拥有与父类相同的所有构造方法。
(5)匿名内部类不能是抽象类,因为匿名内部类在定义之后,会立即创建一个实例。
(6)匿名内部类只能和new连用,用于创建一个实例。匿名内部类只能使用一次,创建实例之后,类定义会立即消失。
(7)匿名内部类访问外部类的局部变量,则该局部变量需要使用final声明。匿名内部类中访问外部类的成员方法和属性使用“外部类名.this.方法名(参数)”和“内部类名.this.属性名”的形式。
(8)匿名内部类不能重写父类的静态方法。
2、匿名内部类的使用方法
new interface/superclass(){} 这种形式的new语句定义了一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口,并同时创建该匿名类的一个新实例。
在上述的语句当中,new接口实际上是new的接口的实现类,new父类实际上是new的父类的一个子类的对象。

猜你喜欢

转载自fengwuhen1990.iteye.com/blog/2341917
今日推荐