复习之匿名内部类—认识—使用形式

是一种特殊的局部内部类。
所谓匿名,指的是程序不需要为这个类声明名字,默认有个隐藏的名字
特点:匿名内部类本质是一个子类,并会立即创建出一个子类对象。
作用:用于更方便的创建一个子类对象。
常规:
定义一个动物类:
package Demon01.innerclass2;

public abstract class Animal{
    public abstract void cry();
}

}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000");
package Demon01.innerclass2;
//原本正常是这样继承的
public class Cat extends Animal{
Animal a=new Cat();

@Override
public void cry() {
    System.out.println("猫咪喵喵叫");
}

}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000");
但是我们把Animal a=new Cat();这里的cat()换成Animal,Animal有抽象方法肯定不让定义,那么我们就把他的抽象方法也挪过来:
//不需要额外构建一个子类,就可以得到一个子类对象,这就是匿名内部类
package Demon01.innerclass2;
//这里把new后面定义一个cat换成定义一个Animal,因为Animal有抽象方法,不能轻易被定义
//所以把其抽象方法也挪过来,new后面的一段就是一个子类
//new后面的既是一个子类也是一个子类对象。

public class test {
public static void main(String[] args) {
Animal a = new Animal() {
@Override
public void cry() {
System.out.println("猫咪喵喵叫");
}
};
a.cry();
}
}
运行结果:
猫咪喵喵叫
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000");
匿名内部类的书写格式:
new 类或接口(参数值){
类体(一般是方法体)
};
特点:更方便的创建出一个子类对象。

posted @ 2025-06-09 18:38  骆驼刺破仙人掌007  阅读(10)  评论(0)    收藏  举报