如果接口的实现(或者父类的子类)只需要使用唯一的一次

那么这种情况就可以省略该类的定义 ,而改为使用匿名内部类

 

匿名内部类的定义格式:

接口名称 对象名=new 接口名称(){

  //覆盖重写所有抽象方法

};

匿名内部类可以省掉中间接口过程中的单独定义

 

 

对格式“new 接口名称(){。。。}”进行解析;

1。new 代表创建对象的动作

2接口名称就是匿名内部类需要实现哪个接口

3{。。。}这才是匿名内部类的内容

注意:

1.匿名内部类,在创建对象时,只能使用唯一的一次

如果希望多次创建对象,而且类的内容一样的话,那么就必须使用单独定义的实现类了;

2匿名对象,在调用方法时,只能调用唯一的一次

如果希望同一个对象,调用多次方法,那么必须给对象起个名字;

3,匿名内部类是省略了实现类/子类,但是匿名对象是省略了对象名称;

强调,匿名内部类和匿名对象不是一回事;