Java 匿名内部类

文章目录

    • 匿名内部类(最重要)
    • 匿名内部类的注意事项
    • 类作为成员变量的类型
    • 接口作为成员变量的类型
    • 接口作为方法的参数和返回值

匿名内部类(最重要)

  • 如果接口的实现类(或者是父类的子类)只需要使用唯一的一次,那么这种情况下就可以省略掉该类的定义,而改为使用匿名内部类
  • 匿名内部类的定义格式:
接口名称 对象名 = new 接口名称
{
     
	//覆盖重写所有抽象方法
};

Java 匿名内部类_第1张图片
Java 匿名内部类_第2张图片
Java 匿名内部类_第3张图片

匿名内部类的注意事项

  • 对格式new 接口名称(){...}进行解析:
  • 1、new代表创建对象的动作
  • 2、接口名称就是匿名内部类需要实现那个接口
  • 3.{...}这才是匿名内部类的内容
  • 注意:
    1、匿名内部类:在创建对象的时候,只能使用唯一一次
    如果希望多次创建对象,而且类的内容一样的话,那么必须使用单独定义的实现类了
    2、匿名对象:在调用方法的时候,只能调用唯一一次
    如果希望同一个对象,调用多次方法,就必须个对象起一个名字
    3、匿名内部类是省略了实现类/子类名称,但是匿名对象是省略了对象名称
    !!!:匿名内部类和匿名对象不是一回事。
    Java 匿名内部类_第4张图片
    Java 匿名内部类_第5张图片
    Java 匿名内部类_第6张图片

类作为成员变量的类型

  • //考完试再看
    Java 匿名内部类_第7张图片

接口作为成员变量的类型

Java 匿名内部类_第8张图片

Java 匿名内部类_第9张图片
Java 匿名内部类_第10张图片

接口作为方法的参数和返回值

Java 匿名内部类_第11张图片

你可能感兴趣的:(java,java,接口)