Está en la página 1de 14

• 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);


• System.out.println(“ El radiodel circulo es:” +c.obtRadio());
• System.out.println(“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 = obj.calc (2, num, “Hola Mundo");

char calc (int num1, int num2, String mensaje)


{
int sum = num1 + num2;
char result = mensaje.charAt (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;
System.out.println(“Antes del llamado, la variable
times es”+times);
nPrintln(“Bienvenido a Java!”,times);
System.out.println(“Despues del llamado, la variable
times es” + times);
}
static void nPrintln(String mensaje, int n) {
while (n > 0) {
System.out.println(“n = “+n);
System.out.println(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)
{
c.color = color;
}
public static void imprimeCirculo(Circulo c) {
System.out.println("El área del circulo de radio " +
c.getRadio( ) + " es " +c.Area());
System.out.println("El color del Circulo es " +c.color);
}
}
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*Math.PI;
}
}

También podría gustarte