匿名内部类是属于局部内部类的一种(特殊)。
匿名内部类的作用:
匿名内部类在父类和接口中可以起到简化代码的作用。因为可以省去创建子类和实现类的过程。Java 快速理解匿名内部类,以及它的使用场景,注意事项_落花一叶知秋的博客-CSDN博客
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类。
格式:
new 类名或者接口名 () {
重写方法;
}
因为格式为new可以确定其为对象可以直接调用对象里的方法,但抽象类的接口是无法创建对象的。可以调用对象的情况为父类的子类对象或接口的实现类对象。
本质:是一个继承了该类的子类匿名对象,或者是一个实现了该接口的实现类匿名对象。
//Student是一个具体类
//Inter是一个接口
Student a = new Student() {
@Override
public void play() {
System.out.println("我是修改过后的样子");
}
};
a.play();
new Inter(){
@Override
public void Method() {
System.out.println("我是接口的方法");
}
}.Method();
Inter b = new Inter() {
@Override
public void Method() {
System.out.println("重写二次");
}
};
b.Method();
//个人理解,如果有建议希望可以大佬在评论帮助改进,感谢OVO