Junior
¿Por qué en algunas interfaces no se definen métodos?
sobes.tech AI
Respuesta de la IA
Las interfaces de marcador (interfaces de marcador) no definen métodos. Sirven para marcar una clase, indicando que posee una característica o capacidad específica.
Ejemplos de interfaces de marcador:
java.io.Serializable: Marca una clase cuyos objetos pueden ser serializados.java.lang.Cloneable: Marca una clase cuyos objetos pueden ser clonados (soportan el métodoclone()).java.util.RandomAccess: Marca listas que soportan acceso aleatorio rápido (tiempo constante) a sus elementos.
El uso de interfaces de marcador permite:
- Identificar clases: Verificar el tipo de un objeto para determinar si pertenece a un grupo específico usando el operador
instanceof.// verificar si un objeto es serializable if (object instanceof Serializable) { // realizar serialización } - Cambiar comportamiento: Las API pueden modificar su comportamiento dependiendo de si la clase implementa una interfaz de marcador. Por ejemplo, si una lista implementa
RandomAccess, las operaciones sobre ella pueden ser optimizadas. - Restringir acceso: Algunas API pueden requerir que los objetos que reciben implementen una interfaz de marcador específica.
- Anotaciones: En enfoques más modernos, muchos escenarios de uso de interfaces de marcador se implementan mediante anotaciones. Sin embargo, las interfaces de marcador todavía se usan en la biblioteca estándar de Java y en código legado.