Всем привет! Начинаю изучать java и никак не могу до конца понять такой момент:
Скажем у меня есть интерфейс Iter1, так же есть класс, который имплементирует данный интерфейс Class1.
Я могу создать экземпляр класса Class1 class = new Class(); или же Iter1 class = new Class();
Эти записи будут равнозначны? и если нет, то в чем их принципиальное отличие?
Заранее спасибо за пояснение
Цитата :"В ссылку типа List вы можете присвоить объект любого наследующего его типа (и ArrayList и LinkedList). Потом можете вызывать из этой ссылки методы, которые есть в типе List, не задумываясь, какой именно объект вы туда поместили."
"Так как ArrayList реализует интерфейс List, то у него должны быть все методы List плюс (возможно) какие-то другие. "
Зачем тогда писать List list = new ArrayList<>();, если мы сможем вызывать только методы из интерфейса List? В этом есть какой то смысл?
– Василий Иванов Feb 07 '21 at 19:01