java - 从监听器访问对象

标签 java listener

假设我们有一些 Foo 类包含

public void setOnSomethingListener(OnSomethingListener listener);

我们注册它:

Foo foo = new Foo();
foo.setOnSomethingListener(new OnSomethingListener(){
  public void onSomething(String data) {
    // ...
  }
});

是否可以从 onSomething 方法访问已注册上述监听器的父对象,而无需访问已定义的 foo 值?

我问这个是因为我想将这个监听器分配给某个参数并将其注册到几个对象中。

最佳答案

是的。

您在这里所做的是定义一个匿名内部类。您可以通过执行访问包含类的属性和方法。

MyContainingClass.this.attributeName

关于java - 从监听器访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522546/

相关文章:

java - 一些听众没有开火

java - Swing Scala 问题 - 面板 100% 扩展

java - 有什么意义可以覆盖 "equals()"中的 "AbstractMap.SimpleEntry<>"吗? "equals()"应该是最终的吗?

java - 如何在android中的父子 Activity 之间进行通信

android - TextView 中的触摸坐标

java - 在 XWiki 的子维基中注册基于 Java 的监听器

java - 使用 ProcessBuilder 在 Java 中创建路径

java - 为什么这不能编译?无法为匿名类的 String 成员分配新值

java - struts2中如何知道前面的页面已经通过

PHPUnit 监听器已加载但未使用