马士兵java架构师

您现在的位置是:java学习笔记 >

java学习笔记

java匿名内部类实现接口

2023-11-11 18:53:16java学习笔记 本文浏览次数:1 百度已收录

本 文 目 录

匿名内部类是一种没有显式类名的类,通常用于简化代码。它们是在一次性的场合创建,即只需要使用一次的类。由于它们没有类名,因此称为匿名内部类。

在Java中,匿名内部类经常用于实现接口。实现接口时,匿名内部类可以直接定义在实现接口的语句中,通过实现接口中的方法来完成接口的实现。这种方式非常简洁,可以快速地创建并使用一个接口的实现。

一、匿名内部类实现接口的代码案例

假设有一个名为Animal的接口:

public interface Animal {  
    void makeSound();  
}

现在,我们使用匿名内部类来实现这个接口:

public class AnimalDemo {  
    public static void main(String[] args) {  
        Animal animal = new Animal() {  
            @Override  
            public void makeSound() {  
                System.out.println("Some sound...");  
            }  
        };  

        animal.makeSound();  
    }  
}

二、代码案例的逐行解释

Animal animal = new Animal() {...}: 在这里,我们定义了一个名为animal的Animal类型的变量。我们使用new Animal()来创建一个新的Animal对象,但由于这是一个匿名内部类,所以我们没有给出一个具体的类名。我们直接开始定义类的内容。
@Override public void makeSound() {...}: 这部分是匿名内部类的核心。我们覆盖了Animal接口的makeSound方法,并给出了一个实现。这个实现仅仅是打印一个字符串"Some sound..."。
animal.makeSound();: 最后,我们调用了animal对象的makeSound方法。这将执行我们在匿名内部类中覆盖的makeSound方法,打印出"Some sound..."。

通过这个例子,你可以看到我们使用匿名内部类快速地实现了Animal接口,并创建了一个Animal对象。这种方式非常简洁,适用于只需要使用一次的接口实现。