Tema 6. Java Flashcards

1
Q

En Java, ¿qué relación hay entre una clase y un interface?

A

Una relación de implementación (mediante la palabra reservada “implements”)

Notas:
- Una clase puede implementar varios interfaces
- Un interface funciona como un tipo (atributo/variable/parámetro)
- Un interface es u contrato funcional entre que debe cumplir la clase
- Un interface puede extender a otro interface (mediante la palabra reservada “extends”)
- Un interface (java8+) puede tener métodos con CÓDIGO (default y static)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Java: Uso de la palabra reservada “final” en una clase, un método y un atributo

A

En una clase, no se permite tener hijos a partir de esa clase

En un método, no se puede sobreescribir en un posible hijo

En un atributo, no se puede modificar

Ejs:
public final class Clase1 {…}
public final void informe(); {…}
final int numero;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Java: Uso de la palabra reservada “static”

A

Sirve para definir atributos y métodos de clase (no de instancia) para que siempre tenga el mismo valor en todos los objetos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

En Java, ¿podemos añadir texto a un objeto de la clase String?

A

NO. Los objetos de la clase string son inmutables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Uso de la palabra reservada “Synchronized” en Java

A

Cuando varios hilos de ejecución comparten una “zona de de la memoria”. Esto sirve para que entren de 1 en 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Java: Diferencia entre “Hashtable” y “ArrayList”

A
  • Hashtable funciona por clave/valor
  • ArrayList funciona por índice
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuál es la clase base para las excepciones y los errores en Java?

A

Throwable

(La de excepciones es excepcion, throwable es para ambas)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nombre dos librerías para generar ficheros de log en Java:

A
  • log4j
  • logback
  • tinylog
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es @override y cuál es su utilidad?

A

Es una ANOTACIÓN (elemento de programación nuevo que salió en java5) que sirve para informar al compilador que estamos sobrescribiendo un método de mi padre.

Nota: No es obligatorio su uso, es una ayuda para que te salte el posible error mientras codificas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Herramienta en Java para empaquetar ficheros dentro de la compilación

A

jar

(Se compilan con javac)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cómo se crea un hilo de ejecución en java?

A

Hay dos formas:

  • Heredando de Threads (pertenece a java.lang)
  • Implementando runnable

En ambos casos hay que sobreescribir el método run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Utilidad de javadoc

A

Generación de documentos HTML a partir de código fuente (.java)

El formato es: /** (info) */

Dentro de los comentarios se pueden usar metadatos: @author @see @since…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué diferencia existe entre el interface Statement y PreparedStatement del API JDBC?

A

Statement:
- Crea y ejecuta sentencias SQL estáticas
- No permite parámetros en las consultas
- Vulnerable a SQL Injection
- Menos eficiente: El motor SQL debe re-analizar la consulta cada vez

PreparedStatement:
- La SQL se compila una vez y se reutiliza
- Usa ? para parámetros
- Protección contra SQL Injection
- Mejor rendimiento: Reutiliza el plan de ejecución

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Cómo podemos obtener la fecha y hora actual a partir de JDK 1.8?

A

Con java.time

import java.time.LocalDateTime;

LocalDateTime ahora = LocalDateTime.now();
System.out.println(“Fecha y hora actual: “ + ahora);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuál es la utilidad de la interfaz de Java iterable?

A

Acceder al objeto “iterador” de CUALQUIER COLECCIÓN y así poder recorrerla de forma genérica

Nota: Es un patrón (técnica) de diseño (de comportamiento del catálogo GoF)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cómo podemos en Java acceder al elemento que está en la cima de un Stack sin borrarlo?

17
Q

Utilidad del bloque Finally

A

Después del try/catch el bloque finally se ejecuta SIEMPRE, tanto si hubo excepción como si no

18
Q

Nombre del método que sirve para lanzar los hilos

A

start();

No confundir con run(); que representa el cuerpo del hilo que sobreescribimos y solo representa el cuerpo del hilo

JRE (planificador) -> start() -> run()

19
Q

¿Qué dos métodos de Object es aconsejable sobreeescribir en tus clases de negocio (ej. Producto)?

A

Método equals(Object o) -> devuelve un boolean
Método toString() -> String

20
Q

Utilidad de la herramienta Apache Maven

A

Es na herramienta Java para ayudarnos a la automatización de la construcción de proyectos en Java

A) Descargar librerías de terceros que queremos usar en nuestro proyecto (gestión de dependencias)
B)

21
Q

Utilidad del interface java.io.Closeable

A

Libera recursos del sistema (Asegura que recursos como descriptores de archivos, sockets o conexiones sean liberados cuando ya no se necesiten)

22
Q

Utilidad del comando peek();

A

Acceder al elemento que está en la cima de un Stack sin borrarlo

23
Q

¿Cómo se define una constante en Java?

A

Con static final

Ejemplo:

public static final int nombre_constante = 200;

24
Q

Uso de las librerías de Java “BouncyCastle” y “Apache POI”

A

BouncyCastle -> Funciones de criptografía

Apache POI -> Trabajar con ficheros de Office (word, ppt, excel…)

25
Uso de la palabra reservada abstract en Java
a) En una clase: No se puede instanciar dicha clase. No está vacía de código pero puede tener métodos abstractos b) En un método: Si defines/declaras un método abstracto, la clase también tendrás que declararla abstracta. Nota: Una clase X que hereda de otra que tiene métodos abstractos, tiene obligación de implementarlos excepto si la declara abstracta
26
¿Una clase abstracta tiene necesariamente que tener un método abstracto?
No, pero si defines/declaras un método abstracto, la clase también tendrás que declararla abstracta.