问题标签 [anonymous-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6456 浏览

java - 从内部匿名 Runnable 访问外部变量

以下示例代码 (SSCCE) 抱怨局部变量a必须是最终的。

为了使事情正常进行,我将代码更改为那个

我的问题:

  1. 这有什么问题吗?
  2. ObjectRef 类作为 JSE 中的标准类存在?
  3. 什么是正确的方法?
0 投票
1 回答
182 浏览

javascript - 使用 MooTools 的匿名类

我可以使用 MooTools js 框架创建匿名类(java 术语)吗?假设它应该看起来像:

但我不想修改构造函数接口来接受额外的属性。有没有更舒适的方法来定义不超过一次使用的类?

0 投票
2 回答
369 浏览

java - 基本 Java 多线程问题

在Java中实例化一个对象时,它是否绑定到实例化的线程?因为当我在一个线程中匿名实现一个接口,并将其传递给另一个线程运行时,它的所有方法都在原来的线程中运行。如果它们被绑定到它们的创建线程,那么无论如何创建一个将在任何线程调用它的线程中运行的对象?

0 投票
2 回答
339 浏览

java - 这种技术在 Java 中叫什么?

我是一名 C++ 程序员,当我看到下面的示例时,我正在阅读这个网站。这种技术在 Java 中叫什么?它有什么用处?

0 投票
4 回答
2582 浏览

java - 使用java反射调用匿名类的方法时访问异常

我正在尝试使用事件调度程序来允许模型在更改时通知订阅的侦听器。事件分派器接收一个处理程序类和一个方法名称,以便在分派期间调用。演示者订阅模型更改并提供要在更改时调用的 Handler 实现。

这是代码(对不起,它有点长)。

事件分配器:

模型:

模型更改处理程序:

主持人:

主要的:

现在,我希望收到“模型已更改”的消息。但是,我得到一个 java.lang.IllegalAccessException: Class utils.EventDispatcher can't access a member of class presenter.Presenter$1 with modifiers "public"。

我知道要责备的类是我在演示者内部创建的匿名类,但是我不知道如何使它比现在更“公开”。如果我用一个命名的嵌套类替换它,它似乎可以工作。如果 Presenter 和 EventDispatcher 在同一个包中,它也可以工作,但我不能允许(不同包中的几个 Presenter 应该使用 EventDispatcher)

有任何想法吗?

0 投票
5 回答
257 浏览

java - 这个 Java 构造是做什么的?

如果这是一个非常简单的问题,我是 Java 新手,所以请耐心等待,但我对这个包含 {code} 的方法调用感到好奇 - 请参阅下面的代码以获取方法 addSelectionListener 中的示例。这样做的目的是什么?我一直在查看文档以寻求解释,但似乎找不到这种做法的名称,不要介意任何有用的信息。

感谢您提供的任何帮助或见解

0 投票
1 回答
1433 浏览

java - 返回使用最终原语的匿名类。它是如何工作的?

我想知道是否有人可以解释以下代码的工作原理:

原始 int 、 List 引用和 List 实例存储在内存中的什么位置?它不能在堆栈上.. 那么在哪里?在这种情况下如何处理引用和原语有区别吗?

非常感谢,蒂姆 P。

0 投票
5 回答
5793 浏览

java - 为什么匿名内部类不包含此代码生成的任何内容?

javac在命令行上运行时Sun JVM 1.6.0_20,此代码会生成 6 个 .class 文件:

OuterClass.class
OuterClass $1.class
OuterClass $InnerClass.class OuterClass$InnerClass2.class OuterClass$InnerClass$InnerInnerClass.class OuterClass $PrivateInnerClass.class


在eclipse中通过JDT运行时,它只产生5个类。

外部类.class
OuterClass$1.class
OuterClass
$InnerClass.class
OuterClass$InnerClass2.class OuterClass$InnerClass$InnerInnerClass.class OuterClass
$PrivateInnerClass.class

反编译时,OuterClass$1.class不包含任何内容。这个额外的类是从哪里来的,为什么要创建它?

0 投票
1 回答
1193 浏览

java - 可以使用 mockito 验证以匿名内部类作为参数的方法调用吗?

我怀疑这是不可能的,因为匿名内部类是私有的。我可以在不担心参数的情况下验证该方法是否被调用?

我要测试这个: http ://bsnyderblog.blogspot.com/2010/02/using-spring-jmstemplate-to-send-jms.html

有类似的东西:

但是 send() 需要一个参数。

还有其他方法可以对 sendMessages() 进行单元测试吗?

0 投票
4 回答
522 浏览

java - 任何人都可以解释以下代码的工作......?

任何人都可以解释以下代码的工作......?

输出是...

所有答案都说 println() 语句中的 myInterface 是匿名类。但是由于我已经将它声明为接口,为什么它允许我创建同名的匿名类......?

再次...如果这些是匿名类,那么主类应该允许我给这些匿名类起任何名字..但是如果尝试这样做..我得到编译错误