Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich bearbeite derzeit eine java aufgabe in der in einer klasse mittels array 5 objkete erzeugt werden.
anschließend sollen diese 5 objekte, über eine methode die sich in einer anderen klasse befindet, ausgegeben werden.
(diese klasse befindet sich dabei zusätzlich in einer extra .java datei!)
ich stelle mir nun die frage wie meine einzelnen objekte (objekt[0], objekt[1], objekt[2], objekt[3].....) ausgeben kann.
reicht es wenn ich einfach aus die methode mittels klasse.ausgabe() einmal aufzurufen oder muss ich die einzelnen objekte noch irgendwie ansteuern zum beispiel mit einer for schleife oder so?
Spricht etwas dagegen, die Methode ausgabe() einmal aufzurufen und in dieser Methode mit einer for-Schleife über die Elemente des Arrays zu laufen (also prinzipiell so, wie du bereits gesagt hast)? Oder geht es dir um Sichtbarkeit des Arrays in einer anderen Klasse und get()-Methoden?
quellcode zeigen ist derzeit etwas schwierig bitte entschuldigt dies erstmal.
lasst es uns erstmal so versuchen.
die ausgabe klasse kann ich leider nicht anpassen weil diese vorgegeben ist.
die aussage von "leifa" findet ich ganz gut aber ich stelle mir die frage wie ich mittels objekt.ausgabe(); auf die methode
ausgabe zugreifen kann, wenn die methode ausgabe in einer anderen klasse liegt. da muss doch dann noch irgendwo der klassennamen hin, oder?
z.b.
klassennmae.objekt,ausgabe() so bestimmt falsch aber wo befindet sich die info darüber, dass sich die methode "ausgabe" in der klasse "klassenname" befindet?
danke und gruß
wow, ist ja geil, dass man so spät noch hilfe bekommt ;-)
public class Hund {
final String geraeusch = "Wuff!";
public static void main(String[] args) {
Hund hundi = new Hund();
System.out.println(hundi);
}
}
Wenn du dir das Objekt vom Typ Hund so ausgeben lässt, erhältst du etwas wie Hund@1fee6fc, eine etwas seltsam anmutende Zeichenfolge mit dem Klassennamen drin, die (afaik) die Adresse des Objektes im Speicher angibt. Das ist die normale Funktionsweise der toString()-Methode bei Objekten. Im Normalfall kann man damit aber nicht so viel anfangen, deshalb empfiehlt die Java-API, dass jede Klasse für sich die toString()-Methode so überschreibt, wie sie es braucht.
Das Beispiel von gerade in abgewandelter Form:
Java:
public class Hund {
final String geraeusch = "Wuff!";
@Override
public String toString() {
return geraeusch;
}
public static void main(String[] args) {
Hund hundi = new Hund();
System.out.println(hundi);
}
}
Wenn du dir mit diesem Code, wo toString() überschrieben ist, den Hund ausgeben lässt, dann … na, was denkst du, wird auf der Konsole erscheinen? Kannst es ja mal ausprobieren