匿名内部类是没有名字的局部内部类。其定义过程和实例化过程是连在一起的,通常用来实现只使用一次的且继承了某个类或实现了某个接口的对象。下面举例说明。
有一个抽象类Pet.
abstract class Pet
{
void eat();
}
现在,我养了一只猫,它就继承自Pet类,我的猫爱吃鱼。
public class cat extends Pet
{
void eat()
{
System.out.println("Cats eat fish.");
}
}
有天我遇见了一直流浪猫,看它饿成了皮包骨,不忍心,于是我买了些猫粮给它吃。
public class test
{
public static void main(String[] args)
{
Pet poorCat = new Pet()
{
void eat()
{
System.out.println("我吃了猫粮");
}
}
poorCat.eat();
}
}