Beste Antwort
- Wenn ich eine Addition mache, lautet der Rückgabetyp int .
- Wenn ich den Namen des Benutzers zurückgeben möchte, lautet der Rückgabetyp String .
- Wenn ich eine Liste von Arrays zurückgeben möchte, die einige Daten enthalten, wäre dies Array-Liste .
- Wenn ich möchte Geben Sie zurück, ob eine Verbindung erfolgreich war oder nicht, dann Boolean .
Beispiel 1:
// Rückgabetyp int
öffentliche Funktion int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // Typ int //
}
Beispiel 2:
// Rückgabetyp String
öffentliche Funktion String doSomething () {
String a = “First NAme”;
String b = „LAST NAme“;
String c = a + b; // Verkettung
return c; // Typ String // O / P => Vorname Nachname
}
Beispiel 3:
// Rückgabetyp ArrayList
öffentliche Funktion ArrayList
ArrayList
String a = „First NAme“;
String b = „LAST NAme“;
list.add (a);
list.add (b);
return list; // Typ ArrayList // O / P => [Vorname Nachname]
}
Rückgabetyp kann von jedem Typ sein, sogar ein benutzerdefiniertes Klassenobjekt. z. B. objStudent zurückgeben; (wobei der Rückgabetyp eine Klasse ist Student und objStudent ein Objekt dieser Klasse ist.
Antwort
Die anderen, die geantwortet haben, sind erfahrener als ich, aber ich werde es versuchen
Java verfügt über zwei Arten von Variablen und Methoden: primitive Typen und Referenztypen . Eine Methode muss jedoch vorhanden sein Ein Rückgabetyp des Grundelements, der Referenz, oder void . Wenn Sie keines dieser Elemente einschließen, wird Ihr Code nicht kompiliert.
[Hinweis: Ich diskutiere hier nicht über Konstruktoren. Ich persönlich ziehe es nicht vor, Konstruktoren als „spezielle Methoden“ zu bezeichnen. Einige Programmierer verwenden den Begriff method to Konstruktoren einschließen. Wenn ich mich nicht irre, erinnere ich mich an die Oracle Java-Dokumente, in denen Konstruktoren als „spezielle Methoden“ bezeichnet werden.]
PRIMITIVE TYPEN
Hier sind die acht primitiven Typen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird: Byte, Short, Int, Long, Float, Double, Char und Boolean. [String ist kein primitiver Typ; Es ist ein Referenztyp.] Eine Methode kann einen dieser oder keinen dieser (void) wie im folgenden Code-Snipit zurückgeben.
balance = getAccountBalance();
/* Method getAccountBalance() below is going to subtract a fee of 1.50 before returning our balance. */
double getAccountBalance()
{
balance = balance - 1.50;
return balance;
}
/* The variable balance must have a type that matches double because the return type of method getAccountBalance() is double. Otherwise, we get a compile error. */
Unsere Methoden müssen überhaupt keinen Wert zurückgeben. Diese Methoden, die keinen Typ zurückgeben, müssen einen Typ namens void haben. Java erwartet keine Rückgabe, wenn void als Rückgabetyp der Methode angegeben wird. Das Einbeziehen einer Rückgabe (EDIT: 27. Mai) type führt zu einem Fehler bei Einige Programmierer geben eine return-Anweisung „ return; “ ein, wenn der Rückgabetyp der Methode ungültig ist. Dieser Code entspricht.
Here “ s ein Beispiel für eine Methode mit dem Rückgabetyp void. (Wörter wie public, private und protected werden übrigens als Zugriffsmodifikatoren bezeichnet. Ich lasse diese Zugriffsmodifikatoren zur Vereinfachung absichtlich weg.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
Der folgende Code wird nicht kompiliert , da es eine return-Anweisung mit einem ungültigen Rückgabetyp für die Methode gibt.
double balance = 275.00;
makeDeposit( 200.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
return balance;
}
/* The last line "return balance" causes the code to fail to compile because the program doesn"t know what to do with the return statement. Java is expecting a return type of void, nothing. The code is returning balance, a double type. */
REFERENZTYPEN
Referenztypen sind alle anderen Typen bes ides void und die acht primitiven Typen. Diese Typen sind Objekte – Arrays, Integer, BigInteger, String, ArrayList, List, Map
Geben wir einen Referenztyp zurück den Code unten.Referenztypen (keine primitiven Typen) dürfen den Rückgabewert null haben.
int[] values = { -4, 16, -36, 0 };
values = sortArray( values );
int[] sortArray( int[] inputArray )
{
/* code to sort values */
return inputArray;
}
/* The program returns the sorted array. */
Im obigen Code haben wir ein int [] namens inputArray zurückgegeben. Der Typ von inputArray entspricht dem Referenztyp der Methode sortArray ().
Im folgenden Code haben wir null für unsere zurückgegeben Referenztyp, obwohl unsere Methode den Typ String erwartet hat. Denken Sie daran, dass String eine Klasse und ein Referenztyp ist, kein primitiver Typ wie int, double oder boolean.
/* We want to return the name only if it is short, 3 characters or fewer to be exact. */
String firstName = "Ahmad";
String shortName = getShortNames( firstName );
System.out.println("Short Name = " + shortName );
String getShortNames( String name )
{
if ( name.length() > 3 )
{
return null;
}
else
{
return name;
}
}
/* Output: null */
Wenn der Name im obigen Code die Länge 3 hat, gibt die Methode getShortNames () den Wert des Namens zurück. In unserem Fall ist der Name jedoch 5 Zeichen lang, sodass der Wert null zurückgegeben wird. Zeile 5 gibt null aus.
Wie bereits erwähnt, können wir auch Typen aus unseren benutzerdefinierten Klassen zurückgeben. Wir sind nicht auf die Klassen beschränkt, die in Javas Bibliotheken definiert sind, wie z. B. String, Integer, BigDecimal, Map
Wichtige Punkte, die Sie beachten sollten:
- Drei Rückgabetypen für Methoden; muss eins verwenden: primitiver Typ, Referenztyp oder void
- Wenn primitive und Referenzrückgabetypen für Methoden verwendet werden, muss eine return-Anweisung im Methodencodeblock enthalten sein – die geschweiften Klammern {}. Andernfalls ist ein Kompilierungsfehler zu erwarten.
- Wenn Sie void als Rückgabetyp für Methoden verwenden, kann eine return-Anweisung nicht in den Codeblock der Methode aufgenommen werden . Andernfalls wird der Code nicht kompiliert.
- Eine Methode mit einem Referenzrückgabetyp muss eine return-Anweisung enthalten, die eine Variable mit dem genauen Referenztyp zurückgibt oder null . Null kann nicht als Rückgabetyp verwendet werden, wenn ein primitiver Rückgabetyp erforderlich ist. Natürlich kann null nicht als Rückgabetyp einer Methode mit dem Rückgabetyp void verwendet werden.