Java ';这';在addActionListener的上下文中

Java ';这';在addActionListener的上下文中,java,Java,这可能是一个很难回答的问题,但我就是其中之一,所以如果你能以一种简单易懂的方式为我解释,那将是非常棒的 所以我继续学习swing教程,并面对这个问题 nameOfButton.addActionListener(this); 所以当它再次调用自身时,我知道在构造函数上下文中使用它是什么 我还知道它在将方法的参数与类中的变量相关联方面做了什么 但我很好奇,在这种情况下,这指的是什么。它指的是按钮本身吗?那么,这是否意味着它正在创建一个自己的动作监听器,或者它以某种方式引用了它所在的方法?谢谢我想

这可能是一个很难回答的问题,但我就是其中之一,所以如果你能以一种简单易懂的方式为我解释,那将是非常棒的

所以我继续学习swing教程,并面对这个问题

nameOfButton.addActionListener(this);
所以当它再次调用自身时,我知道在构造函数上下文中使用它是什么

我还知道它在将方法的参数与类中的变量相关联方面做了什么


但我很好奇,在这种情况下,这指的是什么。它指的是按钮本身吗?那么,这是否意味着它正在创建一个自己的动作监听器,或者它以某种方式引用了它所在的方法?谢谢

我想,方法
addActionListener
是Listener类的一部分。如果您使用此方法并且它不是静态的,则表示该类的侦听器对象已实例化并已访问该方法。“this”指的是那个对象。它在其所在的类中被分配了一个按钮

这是我为某个项目编写的代码中的一个简化示例:

public class Foo {

private Company company;

public Foo login(String name) {
    name = name.toLowerCase();
    company = companyDAO.getCompanyByName(name);
    return this;
}

如您所见,我的类Foo有一个属性,当
main()
中的Foo对象调用方法login:
Foo f=new Foo().login(“someName”)
时,它将接收自身,但其属性“company”将具有唯一值。您可以用另一种方式编写,但这种方式更简单。

我想,方法
addActionListener
是Listener类的一部分。如果您使用此方法并且它不是静态的,则表示该类的侦听器对象已实例化并已访问该方法。“this”指的是那个对象。它在其所在的类中被分配了一个按钮

这是我为某个项目编写的代码中的一个简化示例:

public class Foo {

private Company company;

public Foo login(String name) {
    name = name.toLowerCase();
    company = companyDAO.getCompanyByName(name);
    return this;
}

如您所见,我的类Foo有一个属性,当
main()
中的Foo对象调用方法login:
Foo f=new Foo().login(“someName”)
时,它将接收自身,但其属性“company”将具有唯一值。您可以用另一种方式编写它,但这种方式更简单。

该语句位于类的方法中。让我们调用类
Foo
引用用于调用该方法的
Foo
实例。

该语句位于类的方法中。让我们调用类
Foo
引用用于调用方法的
Foo
实例。

引用当前类,该类(假设代码编译)实现了
ActionListener
。查看更多详细信息这可能会对您有所帮助。
引用当前类,该类(假设代码已编译)实现了
ActionListener
。查看更多详细信息这可能会对您有所帮助。谢谢您,但为什么在执行addActionListener时必须传递对象本身的参数?我添加了一个以相同方式使用
this
的代码示例。我不知道您添加的代码的逻辑是什么,所以我不知道。谢谢您,但是为什么在执行addActionListener时必须传递对象本身的参数?我添加了一个以相同方式使用
this
的代码示例。我不知道你添加的代码的逻辑是什么,所以我不知道。