匿名内部类一般格式为如下:
Base base = new Base() {}; //
这种语法是用在实例化本身并不可以实例化的对象--接口、抽象类时使用,因为只有类是可以实例化的,因此这也可以称得上是一种类,因其明显的没有使用class关键字、没有名字、使用在已有类内部的特点,称其为匿名内部类;
{}内一般写的就是接口和抽象类的实现;
好处:在没有显式extends、implements的情况下实现已有规范(抽象类、接口)
缺点:因为没有名字,所以只能使用实例化的时候的那一种构造方法
备注:参数为什么必须是final的?
拷贝引用,为了避免引用值发生改变,例如被外部类的方法修改等,而导致内部类得到的值不一致,于是用final来让该引用不可改变