¿Las interfaces heredan de la Object
clase en Java?
No, ellos no. Y tampoco hay una interfaz común "raíz" heredada implícitamente por todas las interfaces (como en el caso de las clases). (*)
Si no, cómo podemos llamar al método de clase de objeto en la instancia de interfaz
Una interfaz declaró implícitamente un método para cada método público en Object
. Por lo tanto, el equals
método se declara implícitamente como miembro en una interfaz (a menos que ya lo herede de una superinterfaz).
Esto se explica en detalle en la Especificación del lenguaje Java, § 9.2 Miembros de la interfaz .
9.2 Miembros de la interfaz
[...]
- Si una interfaz no tiene superinterfaces directas, entonces la interfaz declara implícitamente un método de miembro abstracto público m con firma s , tipo de retorno r , y lanza la cláusula t correspondiente a cada método de instancia pública m con firma s , tipo de retorno r , y lanza la cláusula t declarado en
Object
, a menos que la interfaz declare explícitamente un método con la misma firma, el mismo tipo de retorno y una cláusula throws compatible.
[...]
Esta publicación ha sido reescrita como un artículo aquí .
(*) Tenga en cuenta que la noción de ser un subtipo de no es equivalente a heredar de : Las interfaces sin superinterfaz son, de hecho, subtipos de Object
( § 4.10.2. Subtipo entre clases y tipos de interfaz ) aunque no hereden de Object
.