匿名内部类 ——-是内部类的简化写法

  1. 子类去继承(或实现)父类(父接口),<br /> 覆写方法,调用方法太麻烦,如果这些步骤能够一步完成就好了,所以匿名内部类诞生

作用:

继承(或实现)父类(包含抽象类)(或接口),
覆写方法,实现方法,调用方法一步完成!!!!!
继承覆写调用一步完成

如何操作:

    前提存在一个类(包含抽象类)或接口,<br />        格式:  new 类(或接口)名(){覆写方法}.覆写的方法名();

格式的意义:

    new  接口/抽象类/普通类(){<br />        覆写父接口方法<br />                }<br />   new 就是在开辟空间,创建出一个对象   该对象是该接口的实现类对象<br />   那么这个实现类对象的名字呢?  都说了  是匿名内部类 <br />所有这个实现类对象没名字<br />            那对象没名字  类名的?  都说了 是匿名内部类 没有名字.<br />            类没有名字 那么下面覆写的是啥玩意?  就是子类类体<br />            该子类是直接以大括号体现<br />            整个new  格式  就是一个匿名内部类 本质就是一个 <br />         实现了该接口的子类的对象

匿名内部类的本质:

    本质就是一个 实现了该接口的子类的对象<br />        是一个继承了该类或者实现了该接口的子类或实现类匿名对象

如果父接口中有超过一个的抽象方法,匿名内部类去覆写方法,<br />        要想多次调用需要用父接口声明去接受,多态思想的体现<br />    如果方法参数声明的是一个接口或抽象类,<br />        那么可以传入一个匿名内部类  就算是参数声明的是一个类 <br />        也可以传入匿名内部类

一个普通类 可不可以有匿名内部类? 当然可以 除非这个类声明final

限制:

如果接口抽象方法中太多,那么不推荐使用匿名内部类,<br />    那么多少为多呢? 2个正好 多于2个 最好定义一个子类去实现或继承