В каких строках использование параметра T не законно (укажите 3 варианта):

public class Test<T> {
    private T item;                                       // (1)
    private static T[] storage = new T[100];              // (2)
    public Test(T item) { this.item = item; }             // (3)
    public T getItem() { return item; }                   // (4)
    public void setItem(T newItem) { item = newItem; }    // (5)
    public static void getAllItems(T newItem) {           // (6)
        T temp;                                           // (7)
    }
}
Explanation
Любое использование типа-параметра в статическом контексте запрещено, т.е. тип-параметр не может быть использован как:
- тип статического поля (строка 2);
- тип значения, возвращаемого статическим методом;
- тип формального параметра статического метода (строка 6);
- тип локальной переменной в теле статического метода (строка 7);
- тип локальной переменной в блоке статической инициализации и т.п.
Кроме того, тип-параметр нельзя использовать в операторе new, даже при создании массивов (строка 2).

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты