[Primary.] [NonWildTypeArguments] super ( ArgumentListopt ) ;
一个超级构造函数调用可以由一个Primary
表达式前缀。示例(摘自JLS):
class Outer {
class Inner{ }
}
class ChildOfInner extends Outer.Inner {
ChildOfInner() {
(new Outer()).super(); // (new Outer()) is the Primary
}
}
是否存在一种Primary
表达式,使得调用super()成为调用调用类的构造函数?还是Java禁止这样做?