当一个类在现场初始化时它叫什么?

时间:2018-05-28 00:17:03

标签: java

像这样:

Kernel kernel = new Kernel() {};

我无法弄清楚它的名字。我想知道这是什么,所以我可以了解更多,但不幸的是我无法通过搜索引擎找到答案。

1 个答案:

答案 0 :(得分:1)

它被称为匿名类。摘录自Oracle tutorial

  

匿名类表达式包含以下内容:

     
      
  • 新运营商

  •   
  • 要实现的接口的名称或要扩展的类。在此示例中,匿名类正在实现接口HelloWorld。

  •   
  • 包含构造函数参数的括号,就像普通的类实例创建表达式一样。注意:实施时   接口,没有构造函数,所以你使用一对空   括号,如本例所示。

  •   
  • 一个正文,它是一个类声明体。更具体地说,在正文中,方法声明是允许的,但语句不是。

  •