理解一:
匿名类会隐藏的自动声明构造方法,并且可以理解为隐式构造方法的名字和参数列表都是根据继承的父类和实现的接口来确定的。
说明:
-
匿名类继承类(具体类或抽象类)时:
匿名类将拥有和父类相似的和相同数量的构造方法,此处的相似指的是拥有相同的名字和形参列表。
-
匿名类实现接口时:
因为接口没有构造方法,所以匿名类会隐式声明一个以接口名为名的无参构造方法。
理解二:
匿名类会隐藏的自动声明没有名字的构造方法,并且隐式无名的构造方法的数量,以及分别对应的参数列表都是根据继承的父类和实现的接口来确定的。
说明:
-
匿名类继承类(具体类或抽象类)时:
匿名类将拥有和父类相同数量的无名构造方法,各个无名构造方法的参数列表,会和父类每个构造方法的参数列表对应。
-
匿名类实现接口时:
因为接口没有构造方法,所以匿名类会隐式声明一个无参构造方法。
总结:
- 创建匿名类的规则:new + 类名/接口名 + () + { 类体 };
- 以理解二来解析:
- 关键字new用来实例化;
- 类名/接口名用来标识要继承类或实现的接口;
- ()用来表示为匿名类的构造方法;
- { 类体 };匿名类定义的属性和行为;