Bedste svar
- Hvis jeg laver tilføjelse, ville returtypen være int .
- Hvis jeg vil returnere brugerens navn, ville returtypen være Streng .
- Hvis jeg vil returnere en liste med array, der indeholder nogle data, ville det være Array List .
- Hvis jeg vil returner, hvis en forbindelse lykkedes eller ej, så Boolsk .
Eksempel 1:
// Returtype int
offentlig funktion int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // type int //
}
Eksempel 2:
// Returtype String
offentlig funktion String doSomething () {
String a = “First NAme”;
Streng b = “SIDST NAme”;
Streng c = a + b; // sammenkædning
returnere c; // type Streng // O / P => Fornavn Efternavn
}
Eksempel 3:
// Returtype ArrayList
offentlig funktion ArrayList
ArrayList
String a = “First NAme”;
String b = “LAST NAme”;
list.add (a);
list.add (b);
returliste; // type ArrayList // O / P => [Fornavn Efternavn]
}
returtype kan være af enhver type, selv et brugerdefineret klasseobjekt. f.eks. returnere objStudent; (hvor returtypen er en klasse Student og objStudent er et objekt i denne klasse.
Svar
De andre, der har svaret, er mere erfarne end mig selv, men jeg prøver for at besvare spørgsmålet.
Java har to typer variabler og metoder – primitive typer og referencetyper . En metode skal dog have en returtype af primitiv, som reference, eller ugyldig . Hvis du ikke inkluderer en af disse, vil din kode ikke kompilere.
[Bemærk: Jeg diskuterer ikke konstruktører her. Jeg foretrækker personligt ikke at kalde konstruktører “specielle metoder.” Nogle programmerere bruger udtrykket metode til inkluderer konstruktører. Hvis jeg ikke tager fejl, husker jeg Oracle Java-dokumenterne, der henviser til konstruktører som “specielle metoder.”]
PRIMITIVE TYPER
Her er de otte skiftesensitive primitive typer: byte, kort, int, lang, float, dobbelt, char og boolsk. [String er ikke en primitiv type; det “er en referencetype.] En metode kan returnere en af disse eller ingen af disse (ugyldige) som i følgende kodesnipit.
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. */
Vores metoder behøver slet ikke at returnere nogen værdi. Disse metoder, der returnerer ingen type, skal have en type kaldet ugyldig. Java forventer ikke, at der returneres noget, hvis vi inkluderer ugyldigt som metodens returtype. Inkludering af et retur (EDIT: 27. maj) type vil føre til, at Nogle programmerere placerer en returneringserklæring “ return; ” når metodens returtype er ugyldig. Denne kode er i overensstemmelse.
Her ” s et eksempel på en metode med returtype ugyldig. (Forresten kaldes ord som offentlige, private og beskyttede adgangsmodifikatorer. Jeg udelader disse adgangsmodifikatorer med vilje til forenkling.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
Den følgende kode vil ikke kompilere , fordi den har en returerklæring med en ugyldig returneringstype til 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. */
REFERENCETYPER
Referencetyper er alle andre typer ides ugyldige og de otte primitive typer. Disse typer er objekter – arrays, Integer, BigInteger, String, ArrayList, List, Map
Lad os returnere en referencetype i nedenstående kode.Referencetyper (ikke primitive typer) må have returværdi 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 ovenfor returnerede vi en int [] kaldet inputArray. Type inputArray matcher referencetypen for metoden sortArray ().
I den følgende kode valgte vi at returnere null til vores referencetype, selvom vores metode forventede type String. Husk at String er en klasse og en referencetype, ikke en primitiv type som int, dobbelt eller boolsk.
/* 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 ovenstående kode, hvis navnet har længde 3, returnerer metoden getShortNames () værdien af navnet. I vores tilfælde er navnet dog 5 tegn langt, så værdien null returneres. Linje 5 udskriver null.
Som jeg nævnte tidligere, kan vi også returnere typer fra vores brugerdefinerede klasser. Vi er ikke begrænset til de klasser, der er defineret i Javas biblioteker såsom String, Integer, BigDecimal, Map
De vigtigste punkter at huske:
- Tre returtyper til metoder; skal bruge en: primitiv type, referencetype eller ugyldig
- Når man bruger primitive og referenceturretyper til metoder, skal en returneringserklæring inkluderes i metodekodeblokken – de krøllede parenteser {}. Ellers kan du forvente en kompileringsfejl.
- Når ugyldigt bruges som en metodetilbageføringstype, kan en returneringserklæring ikke medtages i metodens kodeblok. . Ellers vinder koden ikke t.
- En metode med en referenceturretype skal indeholde en retursætning, der returnerer en variabel med den nøjagtige referencetype eller returnerer null . Null kan ikke bruges som returtype, hvis en primitiv returtype er påkrævet. Naturligvis kan null ikke bruges som en returtype for en metode, der har ugyldig returtype.