Java-Liste vs ArrayList

7

Als C ++ Oldtimer habe ich es geschafft, mein Problem zu lösen, aber ich kann mich hier nicht mit den zugrunde liegenden Java-Mechanismen herumschlagen:

%Vor%     
Adam 16.02.2012, 09:59
quelle

7 Antworten

14

List ist eine Schnittstelle, ähnlich einer Klasse mit einigen = 0 -Methoden in C ++. Sie können es nicht instanziieren.

Aber ArrayList<T> "erbt" List<T> (oder in Java ausgedrückt, implementiert es), so dass diese Referenzen zuweisungskompatibel sind.

    
Daniel Earwicker 16.02.2012, 10:00
quelle
5

List ist eine Schnittstelle, die Sie nicht initialisieren können. ArrayList implementiert List , sodass Sie einer ArrayList -Variablen eine List -Instanz zuweisen können.

    
MByD 16.02.2012 10:00
quelle
2

Ja. Weil List eine Schnittstelle ist und Sie in Java keine Schnittstelle instanziieren können. Sie können nur eine Klasse instanziieren.

ArrayList ist eine Klasse, die List & lt; & gt; Deshalb können Sie es instanziieren. :)

    
Bryan Giovanny 16.02.2012 10:08
quelle
1

Liste ist keine Klasse, es ist eine Schnittstelle und Sie können das Schnittstellenobjekt nicht instanziieren.

ArrayList ist die Klasse, die die List-Schnittstelle implementiert hat, so dass sie das ArrayList-Objekt instanziieren und dem List-Objekt

zuweisen kann     
Pratik 16.02.2012 10:02
quelle
1

Das List ist eine Schnittstelle. Sie können keine Instanz einer Schnittstelle mit new operator erstellen. Deshalb gibt die Zeile List<Object> z = new List<Object>(); einen Fehler aus. Nur Klassen können instanziiert werden.

    
Santosh 16.02.2012 10:02
quelle
1

"Interface" ist wie ein Protokoll, dem ein Objekt entsprechen muss.

    
Benjamin 16.02.2012 10:04
quelle
0

List ist ein interface und eine Schnittstelle kann nicht instanziiert werden.

Es wird verwendet, um Polymorphie zu implementieren. d. h. eine Referenz des Schnittstellentyps kann das Objekt einer beliebigen Klasse enthalten, die implements it.

%Vor%

es funktioniert, weil ArrayList List implementiert.

    
Azodious 16.02.2012 10:03
quelle

Tags und Links