Cel mai bun răspuns
- Dacă fac adăugări, atunci tipul de returnare ar fi int .
- Dacă vreau să returnez numele utilizatorului, atunci tipul de returnare ar fi Șir .
- Dacă vreau să returnez o listă de matrice care conține unele date, atunci ar fi Lista matrice .
- Dacă vreau să returnează dacă o conexiune a avut succes sau nu, atunci boolean .
Exemplul 1:
// Returnează tip int
funcție publică int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
returnează c; // tastați int //
}
Exemplu 2:
// Return tip String
funcție publică String doSomething () {
String a = „First NAme”;
String b = „LAST NAme”;
String c = a + b; // concatenare
returnează c; // tastați Șir // O / P => Prenume Prenume
}
Exemplul 3:
// Tipul de returnare ArrayList
funcția publică ArrayList
ArrayList
String a = „First NAme”;
String b = „LAST NAme”;
list.add (a);
list.add (b);
return list; // tastați ArrayList // O / P => [Prenume Prenume]
}
tip return poate fi de orice tip, chiar și un obiect de clasă definit de utilizator. de exemplu, întoarce objStudent; (unde tipul de returnare este o clasă Student și objStudent este un obiect al acelei clase.
Răspuns
Ceilalți care au răspuns au mai multă experiență decât mine, dar voi încerca pentru a răspunde la întrebare.
Java are două tipuri de variabile și metode – tipuri primitive și tipuri de referință . Totuși, o metodă trebuie să aibă un tip retur de primitiv, de referință, sau nul . Dacă nu includeți una dintre acestea, codul dvs. nu va fi compilat.
[Notă: Nu discut despre constructori aici. Personal, nu prefer să numesc constructori „metode speciale.” Unii programatori folosesc termenul metodă pentru includ constructori. Dacă „nu mă înșel, îmi amintesc documentele Oracle Java care se referă la constructori ca„ metode speciale. ”]
TIPURI PRIMITIVE
Iată cele opt tipuri primitive sensibile la majuscule: octet, scurt, int, lung, float, double, char și boolean. [String nu este un tip primitiv; este „un tip de referință.] O metodă poate returna una dintre acestea sau niciuna dintre acestea (nul) ca în următorul fragment de cod.
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. */
Metodele noastre nu trebuie să returneze deloc nicio valoare. Aceste metode care nu returnează niciun tip trebuie să aibă un tip numit void. Java nu așteaptă să fie returnat nimic dacă includem nul ca tip de returnare a metodei. Includerea unei returnări (EDIT: 27 mai) tip va duce la eșecul compilați. Unii programatori vor plasa o declarație return „ return; ” atunci când tipul de returnare al metodei este nul. Acest cod este conform.
Aici ” un exemplu de metodă cu tip return returnat. (Apropo, cuvinte precum publice, private și protejate se numesc modificatori de acces. Omit acei modificatori de acces în mod intenționat pentru simplificare.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
Următorul cod won „t compile deoarece are o instrucțiune return cu un tip return returnat pentru metodă.
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. */
TIPURI DE REFERINȚĂ
Tipurile de referință sunt toate celelalte tipuri bes ides nul și cele opt tipuri primitive. Aceste tipuri sunt obiecte – tablouri, Integer, BigInteger, String, ArrayList, List, Map
Să returnăm un tip de referință în codul de mai jos.Tipurilor de referință (nu tipurile primitive) li se permite să aibă valoarea returnată nulă.
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. */
În codul de mai sus, am returnat un int [] numit inputArray. Tipul inputArray se potrivește cu tipul de referință al metodei sortArray ().
În următorul cod, am ales să returnăm null pentru tip de referință, chiar dacă metoda noastră aștepta tipul String. Reamintim că Șir este o clasă și un tip de referință, nu un tip primitiv precum int, double sau 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 */
În codul de mai sus, dacă numele are lungimea 3, metoda getShortNames () va returna valoarea numelui. Cu toate acestea, în cazul nostru, numele are 5 caractere, deci valoarea nulă este returnată. Linia 5 imprimă null.
După cum am menționat mai devreme, putem returna tipuri și din clasele noastre definite de utilizator. Nu suntem limitați la clasele definite în bibliotecile Java, cum ar fi String, Integer, BigDecimal, Map
Puncte majore de reținut:
- Trei tipuri de returnare pentru metode; trebuie să utilizeze unul: tip primitiv, tip de referință sau gol
- Când se utilizează tipuri de returnare primitive și de referință pentru metode, o instrucțiune return trebuie să fie inclusă în blocul de cod al metodei – acoladele {}. În caz contrar, așteptați o eroare de compilare.
- Când utilizați void ca tip de returnare a metodelor, o declarație return nu poate fi inclusă în blocul de cod al metodei . În caz contrar, codul nu va fi compilat.
- O metodă cu un tip de returnare de referință trebuie să includă o instrucțiune return care returnează o variabilă cu tipul de referință exact sau returnează null . Nul nu poate fi folosit ca tip de returnare dacă este necesar un tip de returnare primitiv. Desigur, nul nu poate fi utilizat ca tip de returnare a unei metode are un tip de returnare nul.