Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СТП / lec / java2014-lec-08

.pdf
Скачиваний:
7
Добавлен:
03.03.2016
Размер:
809.22 Кб
Скачать

Пример использования подстановочных типов

public class ParentClass {}

public class ChildrenClass1 extends ParentClass {} public class ChildrenClass2 extends ParentClass {}

public class OurClass<T> { private T item;

public T getItem() { return item;

}

public void setItem(T item) { this.item = item;

}

}

Пример использования подстановочных типов

public class Main {

public static void main(String[] args) {

OurClass<? extends ParentClass>

ob = new OurClass<ChildrenClass1>(); // !!! setItem(? extends ParentClass item)

ob = new OurClass<ChildrenClass2>(); ob = new OurClass<ParentClass>();

ChildrenClass1 c1 = new ChildrenClass1(); ChildrenClass2 c2 = new ChildrenClass2();

ob.setItem(cl);

ob.setItem(c2);

}

}

Подстановка без ограничений

Pair<?>

?getFirst()

– результат можно присвоить только Object

void setFirst(?)

вызвать нельзя никогда

В«сыром» типе

Object getFirst() void setFirst(Object)

Соседние файлы в папке lec