• Un método es una colección de sentencias que ejecutan una
tarea específica.
• En Java, un método siempre pertenece a una clase y su
definición nunca puede contener a la definición de otro
método.
• Java NO permite métodos anidados.
• Un método tiene acceso a todos los atributos de su clase.
• Un método puede invocar otros métodos
• La ejecución de todos los programas se inicia en el método
main.
• Sintaxis para la definición de un método:
[modificador]<tipoRetorno> <nombreMetodo>(< parametros >...)
{
declaraciones de variables locales;
sentencias;
return [(] expresion [)];
}
• La declaración de un método tiene cinco partes básicas:
• modificador es una palabra clave que modifica el nivel de
protección predeterminado del método.
• El tipo del valor de retorno del método (tipo). Si no
devuelve ningun valor debe ser void.
• El nombre del método (nombreMetodo)
• Una lista de parámetros (parametros). Cada parámetro
tiene la forma <tipo> <argumento>. Se separan con
comas.
• El cuerpo del método (sentencias).
sentencias, Conjunto de instrucciones que implementan la
tarea que debe realizar el método.
• Si devuelve un valor debe finalizar con la sentencia
return
return <valor>;
<valor> Debe ser del mismo <tipoRet> con que se ha
declarado el método.
• El código se ejecuta hasta alcanzar la instrucción return (si
devuelve un valor) o hasta el final del método.
• Se pueden declarar variables locales si son necesarias.
public class Circulo
{
// Atributos
double radio;
String color; double obtRadio( ){
// Metodos return radio;
void asigRadio(); }
double obtRadio(); void asigRadio(int nuevoRadio){
double area(); radio = nuevoRadio;
} }
public double Area( ) {
return radio*radio*PI;
}
Metodo_1
• final double PI=3.1416;
• public Circulo(String c, double r)
• {
• color=c;
• radio=r;
• }
• public void main (String …){
• Circulo c = new Circulo(“rojo”,2.5);
• [Link](“ El radiodel circulo es:” +[Link]());
• [Link](“Vamos a cambiar el valor de radio”);
• c. asigRadio(3);
• Las variables en la lista de parámetros se separan con
comas.
• Los parametros de la lista en la especificación del
método, son llamados parámetros formales.
• Cuando un método es llamado, estos parámetros
formales son reemplazados por los parámetros actuales.
• Los parámetros actuales deben ser equivalentes en tipo,
orden y número a los parametros formales.
num = 3
ch = [Link] (2, num, “Hola Mundo");
char calc (int num1, int num2, String mensaje)
{
int sum = num1 + num2;
char result = [Link] (sum);
return result;
}
• Cuando es invocado un método con un parámetro de tipo
primitivo, tal como “int”, el valor del parámetro actual es pasado
al método.
• El valor actual de la variable fuera del método no es afectado,
independientemente de los cambios hechos al parámetro formal
dentro del método.
class PruebaPasoPorValor {
public static void main(String[] args) {
int times = 3;
[Link](“Antes del llamado, la variable
times es”+times);
nPrintln(“Bienvenido a Java!”,times);
[Link](“Despues del llamado, la variable
times es” + times);
}
static void nPrintln(String mensaje, int n) {
while (n > 0) {
[Link](“n = “+n);
[Link](mensaje);
n--;
}
}
} EJEMPLO CALC
• El lenguaje Java solo pasa argumentos por valor.
• Cuando una instancia de objeto es pasada como argumento a
método, el valor del argumento es referenciado al objeto.
• Los contenidos del objeto pueden ser cambiados en el método
pero el objeto referenciado nunca cambia.
11
• Se pueden pasar objetos a métodos como parámetros actuales
• Cuando se pasa un objeto al método la referencia del objeto es
pasado al parámetro formal
• Cualquier cambio al objeto local que ocurra dentro del método
afectará al objeto original que fue pasado como argumento.
class PruebaPasoPorReferencia {
public static void main(String[] args){
Circulo miCirculo;
miCirculo = new Circulo(5.0, "blanco");
imprimeCirculo(miCirculo);
colorCirculo(miCirculo, "negro");
imprimeCirculo(miCirculo);
}
public static void colorCirculo( Circulo c, String color)
{
[Link] = color;
}
public static void imprimeCirculo(Circulo c) {
[Link]("El área del circulo de radio " +
[Link]( ) + " es " +[Link]());
[Link]("El color del Circulo es " +[Link]);
}
}
class Circulo {
private double radio;
String color;
public Circulo(double r, String c){
radio = r;
color = c;
}
public double getRadio( ){
return radio;
}
public double Area( ){
return radio*radio*[Link];
}
}