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的新实例 