1.匿名内部类
1.1基于抽象类的匿名内部类
Java 中可以实现一个类中包含另外一个类,且不需要提供任何的类名直接实例化。
主要是用于在我们需要的时候创建一个对象来执行特定的任务,可以使代码更加简洁。
匿名类是不能有名字的类,它们不能被引用,只能在创建时用 new 语句来声明它们。
匿名类语法格式:
new <类或接口>() {
// 类的主体
};
下面这个是通过匿名出来的对象并在括号里重写抽象方法,来调用抽象类中抽象方法。
abstract class Rabbit{
public abstract void eat();
}
//一般来说,新建一个类去继承抽象类。
// 然后实例化继承抽象类的类
public class Demo1 {
public static void main(String[] args) {
//匿名内部类:在实例化对抽象类的同时并重写抽象方法
Rabbit animal = new Rabbit() {
@Override
public void eat() {
System.out.println("兔子吃胡萝卜");
}
};
animal.eat();
}
}
上面代码我们创建了一个抽象类,并在测试类里通过匿名内部类来重写抽象类的方法,最后通过对象来调用。
还可以通过没有名字的内部类来