I'm trying to instantiate a generic class called "T" extending "AbstractLauncher" and I didn't understand all topic I saw on google. Could you help me ? I've got several class called ConcretXLauncher and I would not have on my MainClass "ConcretXLauncher" but only generics who could be whatever extending AbstractLauncher...
public MainClass < T extends AbstractLauncher > {
public MainClass(Config config){
//T launcher = new T(config); doesnt work, I want to do new ConcretXLauncher(config)
T launcher = newInstance(????);
// code using "launcher"
}
public static < T > T newInstance(Class clazz) {
return clazz.newInstance() ;
}
}
In other topics, I saw this function but I don't know how to call it ? What do I have to put for "clazz" argument ?