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:
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.
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.
3/4 anonim válasza:
Nem absztrakt osztály, hanem interface.
Ez a deklarációja:
public interface List<E>
extends Collection<E>
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.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!