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