.匿名内部类(重点)
----本质上是没有名字的局部内部类,定义在方法中,代码块中,等。
---作用是方便创建子类对象,最终目的是为了简化代码的编写。
格式:
new 类|抽象类名|或者接口名(){
重写方法;
}
---特点总结
---匿名内部类没有一个名字的内部类
---匿名内部类写出来就会产生一个内部类的对象。
---匿名内部类的对象类型相当于当前new的那个子类的子类类型。
--能产生class文件
package com.yuyang.d4_inteerclass_anonymous;
public class Test2 {
public static void main(String[] args) {
Swimming s=new Swimming() {
@Override
public void swim() {
System.out.println("学生游泳");
}
};
go(s);
Swimming s1=new Swimming() {
@Override
public void swim() {
System.out.println("老师游泳非常快");
}
};
go(s1);
go(new Swimming() {
@Override
public void swim() {
System.out.println("运动员游泳非常快");
}
});
//掌握匿名内部类的使用形式(语法)
}
/**
* 学生 老师 运动员 都可以一起参加游泳比赛
*/
public static void go(Swimming s){
System.out.println("开始游泳");
s.swim();
System.out.println("结束游泳");
}
}
interface Swimming{
void swim();
}