gpt4 book ai didi

java - 将接口(interface)的对象初始化为方法的参数?

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:09 25 4
gpt4 key购买 nike

据我所知,您不能创建接口(interface)对象,而是创建实现接口(interface)的类的对象,但是,在查看有关事件处理程序的教程时,我发现了以下内容:

  b.addActionListener(new ActionListener(){  
public void actionPerformed(ActionEvent e){
tf.setText("Welcome to Javatpoint.");
}
});

首先,我不知道可以在方法的参数中构造一个对象。其次,我知道 ActionListener 是一个接口(interface),那么 new ActionListener 在这里到底是做什么的?阅读完后,我模糊地认为这实际上是在创建一个实现 Action Listener 的新类,但是这个类叫什么?我可以制作该类的其他对象吗?最后,上面的代码与下面的代码到底有什么不同:

//where MyActionListener is a class that implements ActionListener

MyActionListener objectOfActionListener = new MyActionListener();
b.addActionListener(objectOfActionListener);

//and the method for actionPerformed is in the MyActionListener class

最佳答案

这是一个anonymous class实现 ActionListener 接口(interface)。

您当然可以创建自己的显式类并实例化它,但除非您需要在多个地方重用相同的逻辑,否则它没有太大的好处。

关于java - 将接口(interface)的对象初始化为方法的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46992202/

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