Zum Inhalt springen

vector in einer anderen klasse aufrufen


Empfohlene Beiträge

Geschrieben

ich habe einen Vector mit einem Element dadrinne,

dieses Element ist von der Klasse Teilnehmer, die von Thread erbt,

wenn ich nun vector.toString() aufrufe erscheint

[Thread[Thread-x,5,main]]

wie kriege ich stattdessen die richtige ausgabe raus?

danke

Geschrieben
wie kriege ich stattdessen die richtige ausgabe raus?

lol

Ähm. Das ist die richtige Ausgabe!?

Falls Du aber lieber den Teilnehmernamen hättest, solltest Du in der Klasse Teilnehmer de Methode toString überschreiben. Woher soll den die JVM sonst wissen, was ausgegeben werden soll?

Geschrieben
sorry, klar teilnehmernamen

hm..., wie soll den meine neue toString methode aussehen?

finde irgendwie keine beispiele bei google.

edit: wenn ich nciht von thread erbe kommt sowas:

Teilnehmer@18a7efd

die klasse toString sieht nciht unbeschrieben so aus:

getClass().getName() + Integer.toString(hashCode());

hab die probiert als test so unzubennen:

public void toSTring(){

getClass().getName();

}

trotzdem kommt

Teilnehmer@18a7efd raus - das kann doch nciht sein?

Geschrieben

sorry,

der beitrag davor ist falsch!

ich habe bei toSTring T groß geschrieben.

wenn ich aber toString jetzt ändern will, gibt der compiler aus dass es nicht überschrieben werden kann

hab zb. folgendes eingeben:

public void toString(){

Integer.toHexString(hashCode());

}

toString() in Server cannot override toString() in java.lang.Object; attempting to use incompatible return type

Compilierung beendet

Geschrieben

Doch, das kann sehr wohl sein. Du sollst die Methode ja auch nicht umbenennen (das ist sowieso nicht möglich!). Du sollst sie überschreiben. Dabei darf sich weder der Name, die Parametersignatur noch die Klasse des Rückgabewertes ändern. Es ist einzig möglich, die Kapselung nach gewissen Regeln zu ändern (also nicht frei nach Belieben!).

Schau dir in der API Doc von Java die Methode toString() mal an. Vielleicht fällt dir ja der Fehler auf, wenn du ihren Namen mit dem Namen deiner toString-Methode vergleichst. ;)

Danach überschreibe sie korrekt. Behalte den Namen bei (achte auch auf Groß- und Kleinschreibung) und der Rest ergibt sich von allein.

Als Ausgabe solltest du dann den Namen deiner Teilnehmer-Klasse erhalten, ganz ohne den Hash-Code. Sofern du die Klasse in einem Package hast (ich vermute mal, dass du das nicht hast), wirst du auch noch das Package davor erhalten.

Lies dich am besten mal durch die Einsteiger-Lektüre für Java. Einführungen und Tutorials. Derer gibt es unzählige, wie zum Beispiel die Java-Tutorials von Sun.

Grüße aus HH

Arvid.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...