Wat zijn de retourtypen in Java? Hoe worden ze gebruikt?

Beste antwoord

  • Als ik aan het optellen ben, is het retourtype int .
  • Als ik de naam van de gebruiker wil retourneren, dan is het retourneringstype String .
  • Als ik een lijst met array wil retourneren die wat gegevens bevat, dan is dat Array List .
  • Als ik dat wil terug als een verbinding succesvol was of niet, Boolean .

Voorbeeld 1:

// Return type int

public function int doSomething () {

int a = 5;

int b = 4;

int c = a * b;

retourneer c; // typ int //

}

Voorbeeld 2:

// Retourtype String

openbare functie String doSomething () {

String a = “First NAme”;

String b = “LAST NAme”;

String c = a + b; // aaneenschakeling

retourneer c; // typ String // O / P => Voornaam Achternaam

}

Voorbeeld 3:

// Retourtype ArrayList

openbare functie ArrayList doSomething () {

ArrayList list = new ArrayList ();

String a = “First NAme”;

String b = “LAST NAme”;

list.add (a);

list.add (b);

retourlijst; // typ ArrayList // O / P => [Voornaam Achternaam]

}

retourtype kan van elk type zijn, zelfs een door de gebruiker gedefinieerd klasseobject. bijv. objStudent retourneren; (waar het retourtype een klas Student is en objStudent een object van die klas is.

Antwoord

De anderen die hebben geantwoord, hebben meer ervaring dan ikzelf, maar ik zal het proberen om de vraag te beantwoorden.

Java heeft twee soorten variabelen en methoden – primitieve typen en referentietypes . Een methode moet echter een retourneringstype primitief, referentie, of ongeldig . Als u geen van deze opneemt, kan uw code niet worden gecompileerd.

[Opmerking: “Ik heb het hier niet over constructeurs. Ik noem persoonlijk geen” speciale methoden “van constructeurs. Sommige programmeurs gebruiken de term methode om include constructors. Als ik me niet vergis, herinner ik me de Oracle Java-documenten die naar constructors verwijzen als “speciale methoden”.]

PRIMITIEVE TYPEN

Hier zijn de acht hoofdlettergevoelige primitieve typen: byte, short, int, long, float, double, char en boolean. [String is geen primitief type; it “sa reference type.] Een methode kan een van deze of geen van deze (ongeldig) retourneren zoals in de volgende code snipit.

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. */

Onze methoden hoeven helemaal geen waarde te retourneren.Die methoden die geen type retourneren, moeten een type hebben met de naam void. Java verwacht niet dat er iets wordt geretourneerd als we void opnemen als het retourtype van de methode. Het opnemen van een retour (EDIT: 27 mei) type zal leiden tot het mislukken van compileren. Sommige programmeurs plaatsen een retourinstructie “ return; ” wanneer het retourtype van de methode ongeldig is. Deze code voldoet.

Hier ” s een voorbeeld van een methode met het retourtype void. (Trouwens, woorden als openbaar, privé en beschermd worden toegangsmodificatoren genoemd. Ik laat die toegangsmodificatoren opzettelijk weg voor vereenvoudiging.)

double balance = 275.00;

makeDeposit( 65.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

}

/* Notice we have no return type included in the method. */

De volgende code kan niet worden gecompileerd omdat het een retourinstructie heeft met een ongeldig retourtype voor de methode.

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. */

REFERENTIETYPEN

Referentietypen zijn elk ander type bes ides leegte en de acht primitieve typen. Deze typen zijn objecten – arrays, Integer, BigInteger, String, ArrayList, List, Map en AnyValidUserDefinedType, zijn slechts enkele van de referentietypen.

Laten we een referentietype teruggeven in de onderstaande code.Referentietypen (niet primitieve typen) mogen retourwaarde null hebben.

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. */

In de bovenstaande code hebben we een int [] geretourneerd met de naam inputArray. Het type inputArray komt overeen met het referentietype van de methode sortArray ().

In de volgende code hebben we ervoor gekozen om null voor onze referentietype, hoewel onze methode het type String verwachtte. Bedenk dat String een klasse en een referentietype is, geen primitief type zoals int, double of 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 */

In de bovenstaande code, als naam lengte 3 heeft, zal de methode getShortNames () de waarde van de naam teruggeven. In ons geval is naam echter 5 tekens lang, dus de waarde null wordt geretourneerd. Regel 5 wordt afgedrukt null.

Zoals ik al eerder zei, kunnen we ook typen retourneren uit onze door de gebruiker gedefinieerde klassen. We zijn niet beperkt tot de klassen die zijn gedefinieerd in Javas bibliotheken zoals String, Integer, BigDecimal, Map , etc.

Belangrijke punten om te onthouden:

  • Drie retourtypen voor methoden; moet er één gebruiken: primitief type, referentietype of leegte
  • Bij gebruik van primitieve en referentie-retourtypen voor methoden, moet een retourinstructie worden opgenomen in het methodecodeblok – de accolades {}. Anders kunt u een compileerfout verwachten.
  • Wanneer u void gebruikt als het retourtype van een methode, kan een retourinstructie niet worden opgenomen in het codeblok van de methode . Anders kan de code niet worden gecompileerd.
  • Een methode met een referentieretourtype moet een retourinstructie bevatten die een variabele retourneert met het exacte referentietype of retourneert null . Null kan niet worden gebruikt als retourtype als een primitief retourtype vereist is. Null kan natuurlijk niet worden gebruikt als retourtype van een methode met retourtype ongeldig.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *