1

Тема: Ініціалізація контейнеру за допомогою інтерфейсу чи класу

Контейнер можна ініціалізувати за допомогою інтерфейсу чи класу.
Наприклад:

HashSet<Character> second = new HashSet<>();
Set<Character> third = new HashSet<>();

Яка різниця між ними? Якому способу варто віддавати перевагу і чому?

2

Re: Ініціалізація контейнеру за допомогою інтерфейсу чи класу

Ініціалізації тут однакові. Проголошення змінних різні.
Різниця в тому, що ви потім зможете зробити з цими змінними. Взагалі це залежить від того, що саме ви плануєте робити зі змінною, а ви цього не пишете; але надалі перетворити нащадка до предка легше, ніж предка до нащадка, тому конкретний тип в абстрактно-загальному випадку кращий.

Подякували: Teg Miles, leofun01, colin200x3