Let's assume we got some classes with a hierarchy as follows:
abstract class Foo<T extends A>
class Bar extends Foo<B>
class Hesh extends Foo<C>
abstract class A
class B extends A
class C extends A
I wonder, if it is possible to write a code inside of Foo, that creates objects of type B or C when called from corresponding child class. For example
//inside of Foo body
public void populate() {
//Something like
Class current_t = T.class;
current_t.getConstructor();
//Create an instance of the object using reflection
}
As a result, I would like to have a method in parent class that creates objects, which type is defined in children classes.