java - 如何定义一个类并将其实例创建为一个构造

标签 java

我想减少以下代码行。不必声明该类,然后创建它的实例来运行 run 方法。应该可以编写代码,以便您可以定义类并将其实例创建为一个构造。我仍然需要 runOnUiThread 来实际运行它,但我正在寻找一种结合类定义和实例化的简洁方法。我在某处看过它,但不记得它是如何完成的:

class OnRunnableCompleted implements Runnable
{
  @Override
  public void run()
  {
  }
}

OnRunnableCompleted onRunnableCompleted = new OnRunnableCompleted();
runOnUiThread(onRunnableCompleted);

最佳答案

runOnUiThread(new Runnable() { public void run() {} });

这会创建一个 anonymous class它实现了 Runnable 接口(interface)并将抽象的 run() 方法重写为空操作。

匿名类的一般形式是

new Name(superCtorParam0, superCtorParam1) {
  member0;
  member1;
}

在哪里

  1. Name 是要扩展/实现的接口(interface)或类的名称,
  2. superCtorParam0...nName 的构造函数的参数
  3. member0...n 是匿名类的字段、方法、初始化器、内部类,就像在任何其他类声明中一样

关于java - 如何定义一个类并将其实例创建为一个构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481588/

相关文章:

java - 使用 do/while 循环对用户输入进行错误检查

java - 如何使用Java将内容追加到文件开头?

java - 在不同的语言中得到不同的 RSA 加密结果?

java - Android fragment 翻译动画显示、隐藏

java - 提取Java方法文本

java - 如何获取从客户端位置到服务器的正确时间

java - CDI - Bean 名称不明确

java - 带有 CXF : How to use the ResponseWrapper? 的 Web 服务

java - Hibernate创建SQL查询在WHERE子句中连接多个查询

java正则表达式有时无法匹配