gpt4 book ai didi

java - 参数内的方法? Java Swing

转载 作者:行者123 更新时间:2023-11-30 03:15:36 25 4
gpt4 key购买 nike

问题不在于我的程序,而在于 Java 的奇怪概念。下面的代码是做什么的?该方法是否充当论坛方法的参数?我知道它实际上是添加一个实际上没有定义太多的 Action 监听器对象,然后它以某种方式分隔了波浪括号后面的最后一个参数括号?我不明白这是如何运作的。如果可以深入的话请解释一下。

forums.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

}
});

最佳答案

这是一个anonymous class 。你可以很容易地写

public class ForumActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
}

// ...

forums.addActionListener(new ForumActionListener());

但是,通过使用这样的匿名类:

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

您创建一个 Action 监听器,它是一个未命名(匿名)类的实例,该类实现 ActionListener 接口(interface)并重写其中的方法。这使您可以轻松创建具有不同行为且仅使用一次的对象。

关于java - 参数内的方法? Java Swing ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32729994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com