Ableitung von Vector<E>

theLMF

Mitglied
Hallo,

folgendes Problem: Ich habe eine selbst definierte Klasse "Connection" und eine weitere Klasse ExtVector, die Vector<Connection> ableitet.
Nun würde ich gerne die Methode add von der Klasse Vector<Connection> ersetzen bzw. erweitern - soweit sogut.

Allerdings ist mir nicht ganz klar, was ich als Parametertyp übergeben soll, denn
Java:
public void add (Connection element)
wird nicht akzeptiert ("The return type is incompatible with Vector<Connection>.add(Connection)").

Wenn ich Object als Parameter übergebe, funktioniert das ganze zwar, allerdings will ich Connection als Parameter-Typ, sprich:
Java:
ExtVector element = new ExtVector();
element.add(new Connection(...))

Wie kann ich dieses Problem lösen / umgehen?

Danke!
 
Hallo,

da du deine Klasse von
Code:
Vector<Connection>
ableitest, gibts es natürlich schon eine Methode add(Connection). Wenn du diese überschreiben möchtest, muss natürlich auch der Rückgabeparameter übereinstimmen.

Versuch es mal so
Code:
public boolean add(Connection c){

//mach hier was du mit dem Object machen willst.


return super.add(connection);

}


MFG

zEriX
 
Schau dir mal an, was das original da macht, vielleicht hilft es dir weiter..:

Java:
    public synchronized boolean add(E e) {
	modCount++;
	ensureCapacityHelper(elementCount + 1);
	elementData[elementCount++] = e;
        return true;
    }
 
Zurück