Duda con herencia de implementaciones de interfaces

Hola!
Te voy a preguntar una cosa que igual es una bobada, pero me ha creado una duda. Te pongo de ejemplo dos clases, GenericServlet y HTTPServlet
GenericServlet tiene esta "definición":
public abstract class GenericServlet extends java.lang.Object implements Servlet, ServletConfig, java.io.Serializable
y HTTPServlet esta otra:
public abstract class HTTPServlet extends GenericServlet implements java.io.Serializable
Dado que GenericServlet implementa Serializable, y que HTTPServlet hereda de GenericSevlet, ¿no es redundante que HTTPServlet implemente Serializable? ¿No se supone que es así sin definirlo, pudiéndose omitir el "implements Serializable" de HTTPServlet?
Gracias

1 respuesta

Respuesta
1
Pues es cierto que no haría falta que HttpServlet implemente Serializable, ya que la clase de la que hereda ya lo hace. Posiblemente es para remarcar esta característica a la gente que consulta la documentación, y no tener que navegar a la clase padre para descubrir que GenericServlet implementa Serializable.
Pero vamos, este no es un modelo a seguir cuando desarrolles tus clases, si te encuentras con un caso parecido. Es redundante.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas