implementacja ArrayList

0

Cześć, czasem spotykam jakąś dziwną implementacje innych klas, dopiero co stało się to znowu.
Mamy ArrayList, możemy otworzyć list komendą

import java.util.ArrayList;
ArrayList<...> name = new ArrayList<>();

Ale dziś zauważyłem taką implementację:

import java.util.List;
import java.util.ArrayList;

 List<Integer> list = new ArrayList();

Na czym polega różnica? I możecie opowiedzieć ja druga implementacja działa?

0

To jest polimorfizm - jeżeli zadałeś takie pytanie to znaczy, że go nie rozumiesz. Poczytaj o tym, bo to podstawa programowania obiektowego.

Lepszy jest drugi sposób. Dlaczego? Ponieważ w trakcie pisania aplikacji, możesz zechcieć aby Twoja "list" była listą typu LinkedList. Gdybyś zadeklarował listę od razu jako
ArrayList<...> name = new ArrayList<>();

nie mógłbyś potem zmienić listy na LinkedList.

1 użytkowników online, w tym zalogowanych: 0, gości: 1