JLS 8.8.7.1 提供构造函数调用表达式模板:
ExplicitConstructorInvocation:
NonWildTypeArgumentsopt this ( ArgumentListopt ) ;
NonWildTypeArgumentsopt super ( ArgumentListopt ) ;
Primary . NonWildTypeArgumentsopt super ( ArgumentListopt ) ;
我尝试了最后一个表达式Primary . NonWildTypeArgumentsopt super ( ArgumentListopt ) ;
,但是我遇到了编译时错误。
public class Main {
public <T> Main(T a){
Outer.<Integer> super(); //error: illegal qualifier; Object is not an inner class
System.out.println(a);
}
public static void main(String[] args){
Main a = new Main(new Object());
// printResult();
}
class Outer {
public <T> Outer() {
};
}
}
使用该表达式的正确方法是什么?