匿名类在Java中有什么用途?我们能说使用匿名类是Java的优势之一吗?

推荐答案

所谓的"匿名班",我想你是指anonymous inner class个.

当使用某些"附加"(如覆盖方法)创建对象的实例时,匿名内部类可能会很有用,而不必实际派生类的子类.

我倾向于将其用作附加事件侦听器的快捷方式:

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});

使用这个方法可以加快编码速度,因为我不需要额外创建一个实现ActionListener的类——我只需要实例化一个匿名内部类,而不需要创建单独的类.

我只在"快速而肮脏"的任务中使用这种技巧,在这些任务中,让整个班级感到不必要.如果有多个匿名内部类执行完全相同的操作,则应该将其重构为实际的类,无论是内部类还是单独的类.

Java相关问答推荐

将状态栏和导航栏设置为白色,带有深色文本

Annotation @ Memphier无法正常工作,并表示:class需要一个bean,但找到了2个bean:

了解Android Studio中的调试器输出

上下文初始化期间遇到异常-使用Java配置配置HibernateTemplate Bean时

JavaFX Maven Assembly插件一直打包到错误的JDK版本

SpringBootreact 式Web应用程序的Spring Cloud Configer服务器中的资源控制器损坏

RichFaces 3.x-Spring Boot-迁移web.xml

当Volatile关键字真的是必要的时候?

使用用户引入的参数生成人员数组

Spring Boot&;Docker:无法执行目标org.springframework.boot:spring-boot-maven-plugin:3.2.0:build-image

如何在JUNIT测试中覆盖ExecutorService?

Java中不兼容的泛型类型

FETCH类型设置为LAZY,但它仍会发送第二个请求

通过/失败的参数化junit测试方法执行数

如何在右击时 Select 新行?

在WHILE()循环初始化部分中声明和初始化变量的Java语法?

Java 21内置http客户端固定运营商线程

由于可为null,无法在kotlin中实现java接口

try 添加;按流派搜索;在Web应用程序上,但没有;I don’我不知道;It’这个代码错了

始终使用Spring Boot连接mongodb上的测试数据库