Господа Java-гуру - объясните плз доходчиво для изучающего дженерики данную конструкцию
public static class Box<T> {
private T object;
public T getObject() {
return object;
}
public static <T> Box<T> getBox() {
return new Box<T>();
}
}
Я очень долго пытался въехать в смысл написанного и синтаксис объявления метода getBox, но так и не понял, почему после static нужно писать "<T> Box<T>", если тип возвращаемого значения просто Box<T>?..