Если у вас есть универсальный c класс, такой как
public class MyClass<T> {
public MyClass() {
}
}
, который обычно создается с использованием new
new MyClass<Type>()
, но вы не хотите, чтобы вызывающий использовал new
, вы хотите, чтобы метод static
сделал это, а затем сделайте это так:
public class MyClass<T> {
public static <T> MyClass<T> newInstance() {
return new MyClass<T>();
}
private MyClass() {
}
}
Теперь вызывающая сторона может сделать:
MyClass.<Type>newInstance()
, хотя Type
может как правило, вывод :
MyClass<Type> myObj = MyClass.newInstance();