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

And*_*Dev 4 java

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

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

OnRunnableCompleted onRunnableCompleted = new OnRunnableCompleted();
runOnUiThread(onRunnableCompleted);
Run Code Online (Sandbox Code Playgroud)

Mik*_*uel 12

runOnUiThread(new Runnable() { public void run() {} });
Run Code Online (Sandbox Code Playgroud)

这将创建一个实现接口的匿名类,Runnable并将抽象run()方法重写为无操作.

匿名类的一般形式是

new Name(superCtorParam0, superCtorParam1) {
  member0;
  member1;
}
Run Code Online (Sandbox Code Playgroud)

哪里

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