Kezdőoldal » Számítástechnika » Programozás » Mi a különbség a List és az...

Mi a különbség a List és az ArrayList között Java-ban? A lenti kódrészletben miért lehet deklarálni a List-et mint Arraylist?

Figyelt kérdés

public static void main(String[] args) {

List<Rectangle> rectangles = new ArrayList<Rectangle>();

rectangles.add(new Rectangle(0, 0, 3, 4));

rectangles.add(new Rectangle(3, 2, 5, 6));


2014. okt. 4. 14:57
 1/4 anonim ***** válasza:
100%
A List egy interface (csak egy felület nem osztály nincs példánya), az ArrayList meg egy konkrét osztály példányosítható. Mivel az ArrayList implementálja a List-et ezért lehetséges a fenti kód.
2014. okt. 4. 15:02
Hasznos számodra ez a válasz?
 2/4 Piert ***** válasza:
Hogy pontosítsuk kicsit: A List, mint interfész, igenis osztály ( tisztán absztrakt osztály), s mint ilyen, nem példányosítható, azonban lehet belőle származtatni. Az ArrayList pedig a List egy specializációja ( magyarán az arraylist egy list), így lehetséges az amit írtál.
2014. okt. 5. 10:54
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Nem absztrakt osztály, hanem interface.


Ez a deklarációja:

public interface List<E>

extends Collection<E>


[link]

2014. okt. 5. 11:27
Hasznos számodra ez a válasz?
 4/4 Piert ***** válasza:
Az utolsó válaszoló nyilván nagyon okos, de ettől még nincs igaza. Ha nincs is absztraktként definiálva, az interfész lényege attól még az, hogy tisztán absztrakt osztály. És épp ebben különbözik az absztrakt osztálytól, mint adatstruktúrától. Mivel utóbbi tartalmazhat megvalósítást is.
2014. okt. 16. 19:53
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!