显式构造函数调用

时间:2014-11-03 10:12:42

标签: java constructor

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() {
        };
    }
}

ideone

使用该表达式的正确方法是什么?

0 个答案:

没有答案