ed-b1 instalación y uso de entornos
UT 4: el lenguaje java
10. Métodos
eugeniaperez.es
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700492/pasted-from-clipboard.png)
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
Los proyectos en Java dan soluciones aplicando la POO
Atributos/Propiedades
Métodos
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
MÉTODOS
- Son fragmentos de código -> nombre
- Realizan una tarea concreta
- Son reutilizados desde otras partes
public int add(int num1, int num2){
return num1+num2;
}
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Modificador de acceso: default, public, private, protected
oculta al método fuera de la clase
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Modificador opcional: final, static, abstract, o combinados.
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Requerido: retorno del método. SIEMPRE indicamos algo ya sea un tipo simple, un objeto, array, etc, o no retorno: void
SI hay retorno, es decir, no es void -> return
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Requerido: el nombre del método o identificador. Siempre con minúscula, y si está formado por variadas palabras -> camelCase: addNumber, getManufacturer
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Opcional: parámetros del método. Cuando se llama al método, si se han especificado parámetros, se deben pasar valores de ESE tipo y el mismo número.
- Tener varios parámetros
- No tener, se mantienen ()
- parámetros variables: varargs
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
cabecera de MÉTODOS o signatura
public final int add (int a, int b) throws Exception {
// method body
}
Opcional: indica que el método puede lanzar una excepción (un error). Tendremos que capturarla (try-catch) o bien lanzarla a otra parte: throws.
Pueden lanzarse más de una excepción separadas por comas.
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
miembros estáticos
- Una clase puede tener atributos y métodos estáticos, también llamados métodos de clase.
- NO hay una copia por instancia, sino solo UNA copia.
- No necesitamos crear una instancia para llamarlos.
public static void main (String args[]) throws IOException
{ //Metodo main...
}
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
miembros estáticos o de clase
public class Alumno{
private String nombre;
private int edad;
public Alumno(String nombre, int edad){
this.nombre = nombre;
this.edad = edad;
}
public String mostrarAlumno(){
return "Mi nombre "+nombre+" y edad: "+edad;
}
public static String saludar(){
return "Hola";
}
}
public class App{
public static void main (String args[]) throws IOException {
Alumno mikel = new Alumno("Mikel", 19);
Alumno jon = new Alumno("Jon", 23);
Alumno miguel = new Alumno("Miguel", 20);
mikel.mostrarAlumno();
jon.mostrarAlumno();
miguel.mostrarAlumno();
//llamar a métodos estáticos
Alumno.saludar();
}
}
No hay una copia por objeto
Llamo a los métodos estáticos a través del nombre de la clase.
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
miembros estáticos o de clase
Podemos acceder a ellos sin crear una instancia de la misma con new:
public class ClaseEstatica {
public static int contador= 0;
public ClaseEstatica () {
contador++;
}
public static void metodoEstatico() {
}
}
System.out.println(ClaseEstatica.contador);
ClaseEstatica.metodoEstatico();
UT 4: JAVA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
¿cuándo utilizo métodos estáticos o cuándo métodos no estáticos?
- Por norma general y si estoy programando con objetos, serán no estáticos.
- Los estáticos son solo para métodos de prueba, o métodos que comparten la MISMA información para todos los objetos de esa clase.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
Descarga el proyecto del repositorio ED.UT4.10Metodos :
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.10metodos.git
- Usuario: entornos_desarrollo
- Password: Entornos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
UT 4: el lenguaje java
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
PARA EL 23 D.
- EJERCICIO 10 DE CLASES (UT 9 - PÁG. 85) ENTREGA
- TEST DE UT9. CLASES
-
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
REALIZA LOS EJERCICIOS DE LA PÁG. 93:
-
EJERCICIO 1
-
EJERCICIO 2
-
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
Las clases además de tener métodos estáticos también pueden tener atributos constantes: que no varían.
Es decir, una vez inicializados no se puede cambiar su valor.
private static final float EURO_PESETA = 166.386f;
Valor común a todos los objetos del tipo
El valor no puede ser modificado
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
Una de las características importantes de la programación orientada a objetos es la sobrecarga de métodos. Esto se produce cuando tenemos métodos que tienen el mismo nombre con distintos parámetros.
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
Esto es posible:
public int add (int a, int b) { }
public int add (Integer a, Integer b) { }
public float add (float a, float b) { }
public long add (long a, long b) { }
public void add (short a, short b) { }
public void add (double a, double b) throws Exception { }
Se pueden llamar igual siempre que se varíe su cabecera.
- Distinto número de parámetros
- O de distinto tipo
UT 4: el lenguaje java
![](https://s3.amazonaws.com/media-p.slid.es/uploads/eugenia_perez/images/970645/logo4.png)
10. Métodos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/263327/images/1700495/pasted-from-clipboard.png)
eugeniaperez.es
Si tengo varios con el mismo nombre, ¿a cuál escoger...?
public int add (int a, int b) { }
public int add (Integer a, Integer b) { }
public float add (float a, float b) { }
public long add (long a, long b) { }
public void add (short a, short b) { }
public void add (double a, double b) throws Exception { }
- El método que más se ajuste por tipos: int
- El método que tenga primitivos más grandes: long
UT10. Métodos
By eugenia_perez
UT10. Métodos
- 1,301