java中'new'的语法
这个问题在这里已经有了答案:
它调用Kb
的构造函数。 以下三条陈述更容易展示:
K.Ka.Kb x1 = new K.Ka.Kb();
K.Ka.Kb.Kc x2 = x1.new Kc(); // Pass x1 as the hidden constructor arg
K.Ka.Kb.Kd.Kd k = x2.new Kd(); // Pass x2 as the hidden constructor arg
您指出的括号实际上不适用于Kb
而是K.Ka.Kb
new K.Ka.Kb()
正在创建K.Ka.Kb
嵌套类的新实例。
Kb()
是类Kb
的默认构造函数。 这是什么涉及到该行的第一个new
的:
Kb
实例(实际上是K.Ka.Kb
类;根据上下文,您可能会省略K.Ka.
) new Kc()
来创建Kc
的新实例 new Kd()
来创建Kd
的新实例