import java.lang.reflect.Constructor; | |
public class X { | |
public <T extends X> Constructor<T> ctor() {return null;} | |
static <T extends X> T f1() throws Exception{ | |
return new X().<T>ctor().newInstance(new Object[0]); | |
} | |
static <T extends X> T f2() throws Exception { | |
return f1();} | |
} |