java多态匿名内部类
时间: 2024-05-13 08:12:34 浏览: 117
Java多态及Java内部类
Java中的多态是指同一种类型的对象,在不同的情况下可以具有不同的表现形式和行为。这种多态性可以通过继承、接口、抽象类等方式来实现。
而匿名内部类是一种没有名字的局部内部类,它一般用于创建那些只需要使用一次的类。通常情况下,匿名内部类都是继承自一个父类或者实现了一个接口,它们可以覆盖父类或接口的方法,以达到特定的功能。
在Java中,可以使用匿名内部类来实现多态。例如,假设我们有一个接口Animal和它的两个实现类Dog和Cat。我们可以使用匿名内部类来创建一个Animal类型的对象,该对象的具体类型可以是Dog或Cat,具体代码如下:
```
Animal animal = new Animal() {
public void sound() {
System.out.println("汪汪");
}
};
```
上述代码中,我们创建了一个Animal类型的对象,并覆盖了它的sound()方法。由于我们没有指定具体的类名,这就是一个匿名内部类。在这个例子中,animal对象的具体类型是Dog,因为我们在sound()方法中输出了"汪汪"。如果我们将输出改为"喵喵",则animal对象的具体类型就是Cat。
阅读全文