109
Рисунок 7.2 – Иерархия классов
List> fruits = new ArrayList
();
//
Все
методы
add
не
работают
с
ошибкой
компиляции
//add(capture>)
в
List
не
может
быть
применен
к
<
Тип
_
добавляемого
_
объекта
>
fruits.add(new Object());
fruits.add(new Fruit());
fruits.add(new Apple());
fruits.add(new Citrus());
fruits.add(new Orange());
//
Этот
метод
работает
Object o = fruits.get(0);
//
Остальные
методы
get
не
работают
,
потому
что
get
возвращает
Object
и
нужно
приводить
объект
у
нужному
типу
Fruit f = fruits.get(0);
Apple a = fruits.get(0);
Citrus c = fruits.get(0);
Orange or = fruits.get(0);
\\
Метод
компилируется
public static List> getList() {
List fruits = new ArrayList();
fruits.add(new Apple());
return fruits;
}
List> wFruits1 =
getList
();
\\
Работает
List wFruits2 =
getList
(); \\
Ошибка
компиляции
List wFruits3 =
getList
(); \\
Ошибка
компиляции
public static void addToList(List> fruits) {
\\add
не
работают
все
fruits.add(new Fruit());
110
fruits.add(new Apple());
fruits.add(new Citrus());
fruits.add(new Orange());
Object o = fruits.get(0); \\
работает
\\
остальные
get
не
работают
Fruit f = fruits.get(0);
Citrus c = fruits.get(0);
Orange or = fruits.get(0);
}
//
все
вызовы
не
вызывают
ошибки
компиляции
addToList(new ArrayList
());
addToList(new ArrayList());
addToList(new ArrayList());
addToList(new ArrayList());
Достарыңызбен бөлісу: