Mejor respuesta
- Si estoy haciendo una suma, el tipo de retorno sería int .
- Si deseo devolver el nombre del usuario, el tipo de retorno sería String .
- Si quiero devolver una lista de matrices que contenga algunos datos, entonces sería Lista de matrices .
- Si quiero devolver si la conexión fue exitosa o no, entonces Booleano .
Ejemplo 1:
// Tipo de retorno int
función pública int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // escribe int //
}
Ejemplo 2:
// Tipo de retorno String
función pública String doSomething () {
String a = «Primer nombre»;
Cadena b = «ÚLTIMO NOMBRE»;
Cadena c = a + b; // concatenación
return c; // escribe String // O / P => Nombre Apellidos
}
Ejemplo 3:
// Tipo de retorno ArrayList
función pública ArrayList
ArrayList
Cadena a = «Primer nombre»;
Cadena b = «ÚLTIMO NOMBRE»;
list.add (a);
list.add (b);
lista de retorno; // escriba ArrayList // O / P => [Nombre Apellido]
}
tipo de retorno puede ser de cualquier tipo, incluso un objeto de clase definido por el usuario. por ejemplo, return objStudent; (donde el tipo de retorno es una clase Student y objStudent es un objeto de esa clase.
Responder
Los otros que «he respondido tienen más experiencia que yo, pero lo intentaré para responder la pregunta.
Java tiene dos tipos de variables y métodos: tipos primitivos y tipos de referencia . Sin embargo, un método debe tener un tipo de retorno de primitivo, de referencia, o void . Si no incluye uno de estos, su código no se compilará.
[Nota: no estoy hablando de constructores aquí. Personalmente, no prefiero llamar a los constructores «métodos especiales». Algunos programadores usan el término método para incluir constructores. Si no me equivoco, recuerdo los documentos de Oracle Java que se refieren a los constructores como «métodos especiales».]
PRIMITIVE TYPES
Estos son los ocho tipos primitivos que distinguen entre mayúsculas y minúsculas: byte, short, int, long, float, double, char y boolean. [String no es un tipo primitivo; es «un tipo de referencia.] Un método puede devolver uno de estos o ninguno de estos (vacío) como en el siguiente fragmento de código.
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. */
Nuestros métodos no tienen que devolver ningún valor en absoluto. Los métodos que no devuelven ningún tipo deben tener un tipo llamado void. Java no espera que se devuelva nada si incluimos void como el tipo de retorno del método. Incluir un retorno (EDITAR: 27 de mayo) type conducirá a una falla en compilar. Algunos programadores colocarán una declaración de retorno “ return; ” cuando el tipo de retorno del método sea nulo. Este código cumple.
Aquí » s un ejemplo de un método con tipo de retorno void. (Por cierto, palabras como público, privado y protegido se denominan modificadores de acceso. Omitiré esos modificadores de acceso intencionalmente para simplificar).
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
El siguiente código no se compilará porque tiene una declaración de retorno con un tipo de retorno vacío para el método.
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. */
TIPOS DE REFERENCIA
Los tipos de referencia son todos los demás tipos ides void y los ocho tipos primitivos. Estos tipos son objetos: matrices, Integer, BigInteger, String, ArrayList, List, Map
Devuelva un tipo de referencia en el código de abajo.Los tipos de referencia (no los tipos primitivos) pueden tener un valor de retorno nulo.
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. */
En el código anterior, devolvimos un int [] llamado inputArray. El tipo de inputArray coincide con el tipo de referencia del método sortArray ().
En el siguiente código, elegimos devolver null para nuestro tipo de referencia aunque nuestro método esperaba el tipo String. Recuerde que String es una clase y un tipo de referencia, no un tipo primitivo como int, double o 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 */
En el código anterior, si el nombre tiene una longitud 3, el método getShortNames () devolverá el valor del nombre. Sin embargo, en nuestro caso, el nombre tiene 5 caracteres, por lo que se devuelve el valor nulo. La línea 5 imprime null.
Como mencioné anteriormente, también podemos devolver tipos de nuestras clases definidas por el usuario. No estamos limitados a las clases que están definidas en las bibliotecas de Java como String, Integer, BigDecimal, Map
Puntos importantes para recordar:
- Tres tipos de retorno para métodos; debe usar uno: tipo primitivo, tipo de referencia o vacío
- Cuando se usan tipos de retorno primitivos y de referencia para métodos, se debe incluir una declaración de retorno dentro del bloque de código del método: las llaves {}. De lo contrario, espere un error de compilación.
- Cuando se usa void como tipo de retorno de método, una declaración de retorno no se puede incluirse en el bloque de código del método . De lo contrario, el código no se compilará.
- Un método con un tipo de retorno de referencia debe incluir una declaración de retorno que devuelva una variable con el tipo de referencia exacto o devuelva null . Null no se puede utilizar como tipo de retorno si se requiere un tipo de retorno primitivo. Por supuesto, no se puede utilizar null como tipo de retorno de un método que tiene el tipo de retorno void.