0% encontró este documento útil (0 votos)
256 vistas

Java 17

Este documento presenta cinco temas clave de Java: interfaces, el paquete java.time para el manejo de fechas y horas, el manejo de excepciones mediante los bloques try-catch-finally y la instrucción throw, y expresiones lambda y regulares.

Cargado por

Rocio Soriano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
256 vistas

Java 17

Este documento presenta cinco temas clave de Java: interfaces, el paquete java.time para el manejo de fechas y horas, el manejo de excepciones mediante los bloques try-catch-finally y la instrucción throw, y expresiones lambda y regulares.

Cargado por

Rocio Soriano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

F.4411.316.013 - POEJ/MIXTO/F.

Generation/
Curso JAVA (Online-Nacional) 3ªEd.

Java Bootcamp
Eduardo Corral Muñoz
[email protected]
Java
Intermedio 2
Índice
_01 Interfaces
_02 Paquete java.time
_03 Manejo de excepciones
_04 Expresiones regulares
_05 Expresiones lambda
01

Interfaces
Interfaces
Son otra forma de alcanzar la abstracción en Java.
Un interface es una “clase completamente abstracta” que
contiene una colección de métodos abstractos (sin implementar,
sin cuerpo) y de valores constantes.
Para acceder a los métodos, hay que “implementarlo” (parecido a
heredarlo) en otra clase con la palabra clave implements (no
extends).

interface Animal{
public void sonido();
public void comer();
}
Interfaces
El cuerpo de un método de un interface se define en la clase
donde se implementa.
class Cerdo implements Animal{
public void sonido(){
System.out.println(“El cerdo dice: güi güi”);
}
public void comer(){
System.out.println(“El cerdo dice: ñam ñam”);
}
}

Su objetivo es capturar similitudes entre clases no relacionadas


entre si sin forzar relaciones. Definen el comportamiento que una
o varias clases necesitan implementar.
Interfaces
Un interface es un tipo de referencia y puede emplearse como
tipo de datos de un objeto.
Al igual que con las clases abstractas, con los interfaces no
pueden crearse objetos.
Los métodos de un interface son abstract y public por defecto.
Los atributos de un interface son public, static y final por defecto.
Dado que no se puede usar para crear objetos, un interface no
puede contener un constructor.
Se emplean para aportar seguridad. Ocultan detalles de los
objetos.
Interfaces
Java no soporta múltiples herencias (una clase solo puede
heredar de una superclase). Se puede conseguir con interfaces,
ya que una clase puede implementar múltiples interfaces.
class DemoClass implements Interface1, Interface2 {…}

Interface Primero{
public void metodoPrimero();
}

Interface Segundo{
public void metodoSegundo();
}
Interfaces
En la clase que implementa los dos interfaces definimos los
métodos de cada uno de ellos, sería como una “doble herencia”.

class DemoInterfaces implements Primero, Segundo{


@Override
public void metodoPrimero(){
System.out.println(“El primer método”);
}

@Override
public void metodoSegundo(){
System.out.println(“El segundo método”);
}
}
Diseño orientado a Interfaces
En Java, los interfaces permiten cambiar el estilo de diseño
“orientado a la implementación” a “orientado al interface”, donde
todas las clases acceden a servicios mediante interfaces que se
implementan en clases concretas.
Al depender solo de entidades abstractas el diseño resultará más
reutilizable y fácil de mantener.
02

Paquete java.time
Paquete java.time
Java no dispone de un clase incorporada para el manejo de
fechas, pero se puede importar el paquete java.time que dispone
de diversas clases para trabajar con fechas y horas.

Fecha:
import java.time.LocalDate;

public class Main {


public static void main(String[] args) {
LocalDate miObjeto = LocalDate.now();
System.out.println(miObjeto);
}
}
Paquete java.time
Hora:
import java.time.LocalDate;

public class Main {


public static void main(String[] args) {
LocalTime miObjeto = LocalTime.now();
System.out.println(miObjeto);
}
}
Paquete java.time
Fecha y Hora:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {


public static void main(String[] args) {
LocalDateTime miObjeto = LocalDateTime.now();
System.out.println(miObjeto);
DateTimeFormatter miObjFmt =
DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
System.out.println(miObjeto.format(miObjFmt));

}
}
03

Manejo de excepciones
Excepciones
Al ejecutar Java se pueden producir diversos errores debidos a
errores de codificación del programador, entradas erróneas u
otras cuestiones imprevisibles.
Cuando se produce un error normalmente se detiene la ejecución
y se genera un mensaje de error. En terminología técnica, java
lanza una excepción (throw exception).
Las instrucciones try y catch nos permiten controlar las
excepciones y “manejar” los errores generados.

Referencia
Excepciones
try permite definir un bloque de código que es testeado en busca
de errores mientras se esté ejecutando.
catch permite crear un bloque de código que se ejecutará si se
produce un error en el bloque definido por try.
try y catch siempre van en pareja:

try {
// Bloque de código a probar
} catch(Exception e) {
// Bloque de código para manejar lo errores en el bloque try
}
Excepciones
El error:

int[] numeros = {1, 2, 3};
System.out.println(numeros[10]);

El control:

try {
int[] numeros = {1, 2, 3};
System.out.println(numeros[10]);
} catch(Exception e) {
System.out.println(“Error: “ + e.message);
}

Excepciones
finally permite definir un bloque de código que se ejecuta tras try
y catch independientemente de si se produjo o no un error.

try {
int[] numeros = {1, 2, 3};
System.out.println(numeros[10]);
} catch(Exception e) {
System.out.println(“Error: “ + e.message);
} finally {
System.out.println(“He terminado”);
}

Excepciones
throw permite crear un error a medida de las necesidades del
programador. Se utiliza junto con las excepciones de Java:
ArithmeticException, FileNotFoundException,
ArrayIndexOutOfBoundsException, SecurityException, …
static void compruebaEdad(int edad) {
if (edad < 18) {
throw new ArithmeticException("Acceso denegado");
} else {
System.out.println(“Acceso permitido ");
}
}

public static void main(String[] args) {


compruebaEdad(15);
}

También podría gustarte