Legjobb válasz
- Ha kiegészítést hajtok végre, akkor a visszatérés típusa int .
- Ha vissza akarom adni a felhasználó nevét, akkor a visszatérési típus karakterlánc lenne.
- Ha vissza akarok adni egy tömblistát, amely tartalmaz néhány adatot, akkor az tömblista lesz.
- Ha szeretném térjen vissza, ha a kapcsolat sikeres volt, vagy sem, akkor logikai .
1. példa:
// Visszatérés int
nyilvános függvény int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // type int //
}
Példa 2:
// Return type String
public function String doSomething () {
String a = „First NAme”;
b karakterlánc = „LAST NAme”;
karakterlánc c = a + b; // összefűzés
return c; // type Karakterlánc // O / P => Keresztnév vezetéknév
}
3. példa:
// Return type ArrayList
public function ArrayList
ArrayList
String a = „First NAme”;
String b = „LAST NAme”;
list.add (a);
list.add (b);
visszatérési lista; // type ArrayList // O / P => [keresztnév vezetéknév]
}
return type bármilyen típusú lehet, akár egy felhasználó által definiált osztályobjektum is. pl. return objStudent; (ahol a visszatérés típusa valamilyen osztály, a Student és az objStudent az adott osztály objektuma.
Válasz
A többiek, akik “válaszoltak, tapasztaltabbak, mint én, de én megpróbálom a kérdés megválaszolásához.
A Java kétféle változóval és metódussal rendelkezik – primitív és referencia típus . A metódusnak azonban tartalmaznia kell egy primitív visszatérési típus, referencia, vagy void . Ha ezek egyikét nem tartalmazza, akkor a kódja nem áll össze.
[Megjegyzés: A kivitelezőkről itt nem beszélek. Én személy szerint nem hívom inkább a kivitelezőket „speciális módszereknek”. Néhány programozó a módszer kifejezést használja tartalmaznak konstruktorokat. Ha nem tévedek, felidézem azokat az Oracle Java dokumentumokat, amelyek a konstruktorokra „speciális módszerként” hivatkoznak.]
PRIMITÍV TÍPUSOK
Itt van a nyolc kis- és nagybetű érzékeny primitív típus: bájt, rövid, int, hosszú, lebegő, dupla, char és logikai. [String nem primitív típus; ez egy referencia típus.] Egy módszer ezek egyikét vagy egyikét sem adhatja vissza (érvénytelen), mint a következő kódrészletben.
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. */
A metódusainknak egyáltalán nem kell semmilyen értéket visszaadniuk. Azoknak a metódusoknak, amelyek nem adnak vissza típust, rendelkezniük kell egy void nevű típussal. A Java nem számít semmilyen visszaküldésre, ha a metódus visszatérési típusaként az void-ot is szerepeltetjük. Ha egy return-t is beírunk (EDIT: május 27.) type , akkor az fordítás. Egyes programozók visszatérési utasítást helyeznek el „ return; ”, ha a metódus visszatérési típusa érvénytelen. Ez a kód megfelel.
Itt ” s egy módszer a return type void paranccsal. (Egyébként az olyan szavakat, mint nyilvános, magán és védett , hozzáférés-módosítóknak nevezzük. Az egyszerűsítés érdekében szándékosan kihagyom ezeket a hozzáférés-módosítókat.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
iv /* Notice we have no return type included in the method. */
A következő kód nem fog összefordulni , mert a metódushoz érvénytelen return típussal rendelkező return utasítás van.
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. */
REFERENCIA TÍPUSAI
Referencia típusok minden más típus ides érvénytelen és a nyolc primitív típus. Ezek a típusok objektumok – tömbök, egész szám, nagyösszeg, karakterlánc, tömblista, lista, térkép
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. */
A fenti kódban egy int [] nevű inputArray-t adtunk vissza. Az inputArray típusa megegyezik a sortArray () metódus referenciatípusával.
A következő kódban a null visszatérést választottuk a referencia típus, bár a módszerünk String típust várt. Emlékezzünk arra, hogy a karakterlánc osztály és referencia típus, és nem primitív típus, például int, double vagy logikai.
/* 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 */
Ha a név hossza 3, a fenti kódban a getShortNames () metódus visszaadja a név értékét. Esetünkben azonban a név 5 karakter hosszú, így a null értéket adja vissza. Az 5. sor kiírja a null értéket.
Mint korábban említettem, a felhasználó által definiált osztályokból is adhatunk vissza típusokat. Nem korlátozódunk azokra az osztályokra, amelyeket a Java könyvtárai határoznak meg, például String, Integer, BigDecimal, Map
Főbb emlékezetes szempontok:
- Három visszatérési típus a módszerekhez; egyet kell használnia: primitív típus, referencia típus vagy void
- Ha primitív és referencia visszatérési típusokat használunk a metódusokhoz, akkor a return kódot a metódus blokkba – a göndör zárójelekbe} kell beilleszteni. Ellenkező esetben fordítási hibára kell számítani.
- Az void metódusok visszatérési típusaként történő használatakor visszatérési utasítás nem szerepelhet a metódus blokkjában. . Ellenkező esetben a kód nem fordítódik le.
- A referencia visszatérési típussal rendelkező metódusnak tartalmaznia kell egy return utasítást, amely egy pontos referencia típussal változót ad vissza, vagy null . A Null nem használható visszatérési típusként, ha primitív visszatérési típusra van szükség. Természetesen a null nem használható, mivel a metódus visszatérési típusának van érvénytelen return típusa.