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.
Hallo, ich habe eine Frage und zwar was ist bei der Frage richtig:
Wenn wir mit einer Methode zwei ganze Zahlen zurückgeben müssen, können wir verwenden
(knifflig!)
a) ein Objekt als Parameter
b) ein Objekt als Rückgabewert
c) zwei Rückgabewerte
d) zwei Parameter
Also ich bin für a), da man dann in der Methode die Variablen des Objekts ändern kann und da man ein Objekt als Parameter übergibt ändern sich die Werte nicht nur in der Methode selbst sondern auch allgemein und somit hat man zwei Zahl "zurückgegeben" oder gibts da noch ne nicht all zu schwere Möglichkeit?? Rekursion wurde noch nicht behandelt, sondern nur die Grundlagen der OOP ohne Vererbung und die einfachsten Sachen wie Methoden, Schleifen usw.
klar, aber b) dann auch auf jeden Fall. c) sicher nicht, und
bei d) fehlt die Info ob die zwei Parameter auch Objekte sein duerfen (nach den anderen Antworten scheinbar nicht)
ein Result-Objekt... z.B. gibt es in der Java Api die Klasse Point, die genau zwei Werte enthält, auf die man zugreifen kann, z.B. sowas wäre dann drin:
Code:
public Point makeSomething() {
//mache irgendwas spannendes mit zwei Variablen x und y
return new Point(x, y);
}
//Zugriff z.B. in der Main:
Point p = makeSomething();
int x = p.x;
int y = p.y;
Man kann sich natürlich auch eigene Klassen als "Hüllenklasse" ausdenken, die diese zwei "Rückgabewerte" speichert.
an eine Funktion übergebe, was ist das dann für ein Ding - denn es verhält sich nicht wie ein herkömliches Objekt, wo nur eine Referenz übergeben wird und somit das ursprüngliche Objekt verändert wird. Dachte in java ist so gut wie alles ein objekt (abgesehen von datentypen wie int).
Es ist schon ein ganz normales Objekt und verhält sich auch wie alle anderen.
Der einzige Unterschied ist, daß es immutable gemacht wurde also unveränderbar.
Das ist allerdings keine Java-Besonderheit. Es ist einfach so, daß der eigentlich
int, der in dem Integer steckt, nicht public definiert ist und es auch keinen
setter gibt (void setInt(int theNewValue {...}).
Dieses Verhalten kannst du in all deinen Klassen nachbilden.
Es ist schon ein ganz normales Objekt und verhält sich auch wie alle anderen.
Der einzige Unterschied ist, daß es immutable gemacht wurde also unveränderbar.
Das ist allerdings keine Java-Besonderheit. Es ist einfach so, daß der eigentlich
int, der in dem Integer steckt, nicht public definiert ist und es auch keinen
setter gibt (void setInt(int theNewValue {...}).
Dieses Verhalten kannst du in all deinen Klassen nachbilden.