new 父类构造器(参数列表)|实现接口(){ //匿名内部类的类体实现 }
使用内部类的作用:
高内聚,把只和这个类相关的类型放到这个类内部是很合理的,如果把它放在外面,那么两个类就成了耦合关系。
比如
public class LinkedList<T> { class Node { T data; Node prev; Node next; } Node fst; Node lst; } class LinkedListNode<T> { T data; LinkedListNode<T> prev; LinkedListNode<T> next; } public class LinkedList<T> { LinkedListNode<T> fst; LinkedListNode<T> lst; }
匿名内部类实现规定:
- 使用匿名内部类时,必须继承一个类或实现一个接口
- 匿名内部类由于没有名字,因此不能定义构造函数
- 匿名内部类中不能含有静态成员变量和静态方法