Bästa svaret
- Om jag gör tillägg skulle returtypen vara int .
- Om jag vill returnera användarens namn skulle returtypen vara Sträng .
- Om jag vill returnera en lista med matriser som innehåller vissa data skulle det vara Array List .
- Om jag vill återvänd om en anslutning lyckades eller inte då Boolean .
Exempel 1:
// Returtyp int
offentlig funktion int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // typ int //
}
Exempel 2:
// Returtyp String
public function String doSomething () {
String a = “First NAme”;
String b = “LAST NAme”;
String c = a + b; // sammankoppling
returnera c; // typ Sträng // O / P => Förnamn Efternamn
}
Exempel 3:
// Returtyp ArrayList
offentlig funktion ArrayList
ArrayList
String a = “First NAme”;
String b = “LAST NAme”;
list.add (a);
list.add (b);
returlista; // typ ArrayList // O / P => [Förnamn Efternamn]
}
returtyp kan vara av vilken typ som helst, även ett användardefinierat klassobjekt. t.ex. återlämnande av objekt (där returtypen är någon klass Student och objStudent är ett objekt i den klassen.
Svar
De andra som har svarat är mer erfarna än jag själv, men jag försöker för att svara på frågan.
Java har två typer av variabler och metoder – primitiva typer och referenstyper . En metod måste dock ha en returtyp av primitiv, referens, eller ogiltig . Om du inte tar med någon av dessa kommer din kod inte att kompileras.
[Obs: Jag diskuterar inte konstruktörer här. Jag föredrar personligen inte att kalla konstruktörer ”speciella metoder.” Vissa programmerare använder termen metod för att inkludera konstruktörer. Om jag inte misstar mig, minns jag Oracle Java-dokument som hänvisar till konstruktörer som ”speciella metoder.”]
PRIMITIVA TYPER
Här är de åtta skiftlägeskänsliga primitiva typerna: byte, kort, int, lång, flyt, dubbel, röd och boolesk. [String är inte en primitiv typ; det ”är en referens typ.] En metod kan returnera en av dessa eller inga av dessa (ogiltiga) som i följande kodutdrag.
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. */
Våra metoder behöver inte returnera något värde alls. De metoder som returnerar ingen typ måste ha en typ som kallas tom. Java förväntar sig inte att något ska returneras om vi tar med tomrummet som metodens returtyp. Inkluderar en retur (EDIT: 27 maj) typ kommer att leda till att kompilera. Vissa programmerare lägger tillbaka ett uttalande “ return; ” när metodens returtyp är ogiltig. Den här koden överensstämmer.
Här ” s ett exempel på en metod med returtyp ogiltig. (Förresten, ord som offentliga, privata och skyddade kallas accessmodifierare. Jag utelämnar dessa accessmodifierare avsiktligt för att förenkla.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
Följande kod kommer inte att kompilera eftersom det har ett returuttal med en ogiltig returtyp för metoden.
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. */
REFERENS TYPER
Referenstyper är alla andra typer ides ogiltiga och de åtta primitiva typerna. Dessa typer är objekt – arrays, Integer, BigInteger, String, ArrayList, List, Map
Låt oss returnera en referens typ i koden nedan.Referenstyper (inte primitiva typer) får ha returvärde null.
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. */
I koden ovan returnerade vi en int [] som heter inputArray. Typen inputArray matchar referens typen för metoden sortArray ().
I följande kod valde vi att returnera null för vår referens typ även om vår metod förväntade sig typ String. Kom ihåg att String är en klass och en referens, inte en primitiv typ som int, dubbel eller 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 */
I ovanstående kod, om namnet har längd 3, returnerar metoden getShortNames () värdet på namnet. I vårt fall är namnet dock 5 tecken långt, så värdet null returneras. Rad 5 skriver ut null.
Som jag nämnde tidigare kan vi också returnera typer från våra användardefinierade klasser. Vi är inte begränsade till de klasser som definieras i Java-bibliotek som String, Integer, BigDecimal, Map
Viktiga punkter att komma ihåg:
- Tre returtyper för metoder; måste använda en: primitiv typ, referenstyp eller tomrum
- När primitiva och referensreturtyper används för metoder måste ett returuttal inkluderas i metodkodblocket – de lockiga parenteserna {}. I annat fall kan du förvänta dig ett kompileringsfel.
- Om du använder tomrum som metod för returret, kan ett returuttal inte inkluderas i metodens kodblock . Annars kommer inte koden att kompileras.
- En metod med en referensreturtyp måste innehålla ett returuttal som returnerar en variabel med exakt referenstyp eller returnerar null . Null kan inte användas som returtyp om en primitiv returtyp krävs. Naturligtvis kan null inte användas som en returtyp för en metod som har returtyp ogiltig.