我在哪里可以找到有关此类隐式类实现的更多信息

时间:2017-03-15 13:34:33

标签: java interface

我发现了一些像这样的代码

public class Test {
 static void myTest() {
    TestInterface test = new TestInterface() {

        @Override
        public void test1() {
            // TODO Auto-generated method stub
        }

        @Override
        public boolean isOK() {
            // TODO Auto-generated method stub
            return false;
        }
    };
    if (test.isOK()) test.test1();
  }
}

interface TestInterface {
  void test1();
  boolean isOK();
}

如果它不仅仅是骨架,那么编译得很好并且可能会起作用。 据我所知,它创建了一个接口的隐式实现和该类的实例。 尝试使用" java"来谷歌这个"隐" "接口"没有给我更多关于这个结构的背景信息。我缺少哪个搜索词?

1 个答案:

答案 0 :(得分:1)

这称为匿名类:Anonymous classes

正如表达式所暗示的那样,它们没有名称,并且用于声明AND实例化同时扩展另一个类(或实现接口)的类。

  

匿名类使您可以使代码更简洁。他们   使您能够同时声明和实例化一个类。

这些类是声明它们的方法的本地。