en esta situación específica que no es muy útil, ya que otros críticos han explicado que es bastante obvio que Thread
ya implementa Runnable
.
En algunos casos, "obviedad" puede ser útil, sin embargo, al igual que un "recordatorio" para el usuario de su clase: si tiene una bastante grande jerarquía de super-clases e interfaces, con varios niveles de herencia (algunos de ellos en bibliotecas de terceros), podría ser útil como ayudante declarar que una clase implementa una interfaz específica, aunque lo implemente por definición porque su superclase ya lo implementa o implementa una de las subclase de esa interfaz.
Es especialmente útil con las interfaces de marcador (algunas personas podrían objetar que no deberían usarse en absoluto, y son malas prácticas, a veces no controla el entorno por completo), es decir, interfaces sin implementación real y simplemente diseñado para marcar su objeto elegible para una función especial (por ejemplo, Cloneable
). En tal caso, marcar cada una de las clases permitidas aunque sus padres ya sean elegibles puede ser más explícito, por lo que es más útil.
esto de ninguna manera es ni siquiera remotamente correcto –
Lea [¿Cómo escribo una buena respuesta?] (Http://stackoverflow.com/help/how-to-answer) antes de intentar responder más preguntas. –