У меня есть несколько дочерних классов, где все они расширены одним общим родительским классом.
Мне нужен конкретный метод в родительском классе, и этот метод должен возвращать новый объект данного типа класса.
Это то, что я пытался.
class Vehicle {
public <T> T get(Class<T> type){
//return new T();
}
}
class Car extends Vehicle {
}
class Van extends Vehicle {
}
выше get(...)
метода
return new T();
оператор дает ошибку компиляции, говоря:
Неожиданный тип
& emsp; требуется: класс
& emsp; найдено: параметр типа T
Я не могу создавать объекты дочерних классов напрямую, как,
new Car();
по какой-то причине. Дочерних классов может быть любое количество, поэтому переопределение метода get()
в каждом из них также невозможно. Есть идеи?