Java8: ¿Por qué está prohibido definir un método predeterminado para un método de java.lang.Object?

Los métodos predeterminados son una buena herramienta nueva en nuestra caja de herramientas Java. Sin embargo, intenté escribir una interfaz que defina undefault versión de latoString método. Java me dice que esto está prohibido, ya que los métodos declarados enjava.lang.Object puede no serdefaulted. ¿Por qué es este el caso?

Sé que existe la regla de "la clase base siempre gana", así que por defecto (juego de palabras;), cualquierdefault implementación de unObject el método sería sobrescrito por el método deObject de todas formas. Sin embargo, no veo ninguna razón por la que no debería haber una excepción para los métodos deObject en la especificación Especialmente paratoString Puede ser muy útil tener una implementación predeterminada.

Entonces, ¿cuál es la razón por la cual los diseñadores de Java decidieron no permitirdefault métodos que anulan los métodos deObject?