1

Всем привет! Начинаю изучать java и никак не могу до конца понять такой момент:

Скажем у меня есть интерфейс Iter1, так же есть класс, который имплементирует данный интерфейс Class1.

Я могу создать экземпляр класса Class1 class = new Class(); или же Iter1 class = new Class();

Эти записи будут равнозначны? и если нет, то в чем их принципиальное отличие?

Заранее спасибо за пояснение

  • 3
  • Я думаю сойдёт. – Алексей Шиманский Feb 07 '21 at 18:41
  • Спасибо, почитал эту статью, но возник еще вопрос.

    Цитата :"В ссылку типа List вы можете присвоить объект любого наследующего его типа (и ArrayList и LinkedList). Потом можете вызывать из этой ссылки методы, которые есть в типе List, не задумываясь, какой именно объект вы туда поместили."

    "Так как ArrayList реализует интерфейс List, то у него должны быть все методы List плюс (возможно) какие-то другие. "

    Зачем тогда писать List list = new ArrayList<>();, если мы сможем вызывать только методы из интерфейса List? В этом есть какой то смысл?

    – Василий Иванов Feb 07 '21 at 19:01
  • смысл в том, что называется в ооп полиморфизм – Дмитрий Feb 07 '21 at 20:49
  • О полиморфизме можно немного почитать здесь. Там также сказано зачем мы используем интерфейсы при программировании на Java. – Roman C Feb 08 '21 at 21:37
  • Большое спасибо! – Василий Иванов Feb 09 '21 at 19:22

0 Answers0