Page 118 - 6253
P. 118
}
Запустивши програму на виконання отримаємо наступний результат:
Значення 4 знаходиться у масиві nums
Значення 8 не знаходиться у масиві nums
Значення "чотири" знаходиться у масиві strs
Значення "вісім" не знаходиться у масиві strs
У представленому прикладі тип V обмежений згори типом Т. Тобто перший
аргумент, що передається у метод inArray() повинен бути типу Т, або типу його
підкласів. Узагальнені методи можуть бути не тільки статичними. Подібним чином
можна оголосити нестатичний узагальнений метод у будь-якому класі або
інтерфейсі.
Узагальнені конструктори
Подібно до узагальнених методів можна створити узагальнений конструктор.
Його синтаксис майже нічим не відрізняється від синтаксису узагальненого методу.
<T> Ім'я_Класу(список_параметрів) {
// тіло конструктора
}
Так само як і для методів, зовсім не обов’язково, щоб клас в якому
оголошується узагальнений конструктор був узагальненим. Розглянемо приклад у
якому оголошується узагальнений конструктор.
// Створення узагальненого конструктора
class Generic {
private double val;
// Узагальнений конструктор неузагальненого класу
<T extends Number> Generic(T o) {
val = o.doubleValue();
}
117