В каких строках использование параметра 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).

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes