Java匿名内部类
java的内部类主要可以分为三种:成员内部类,局部内部类,匿名内部类。本文章主要讲解匿名内部类。
匿名内部类,故名思议这个类是没有名字的。下面我们用代码进行演示:
首先先定义一个类:Animal。
public class Animal {
//动物的年龄
private int age;
//动物名字
private String name;
public void sleep() {
System.out.println("动物在睡觉");
}
}
我们可以看见Animal类中有两个属性,以及一个方法;
接下来我们在测试类中这样写:
Animal animal = new Animal(){
public void sleep() {
System.out.println("这是子类的动物");
}
};
这其实就是一个匿名内部类。**这个匿名类继承了Animal类,并重写了Sleep方法,并将其赋值给了animal对象变量。**可以如图下所示:
也就是说animal现在是Animal类的一个子类对象。这一点用到了多态
总结
匿名内部类,就是在一个类中创建一个继承某个类或者实现某个接口的没有名字的类,并用一个对象变量对其进行引用。