Skip to content
Advertisement

How can I override object methods inside interface?

All classes in java extend the Object class implicitly. But that doesn’t concern interfaces. Interfaces can only extend other interfaces, but no classes. However, I can override object class methods inside my interface.

JavaScript

Can you please explain in simple words how is this even possible? Is there any use case for this?

enter image description here

Advertisement

Answer

Interface is a just contract. It says that all classes that inherits interface should implement these methods. Interface cannot have implementation. It is possible to override a class that implements this interface.

However, from Java 8 you can define static methods in interfaces in addition to default methods.

UPDATE:

The members of an interface are:

  • Those members declared in the interface.
  • Those members inherited from direct superinterfaces.
  • If an interface has no direct superinterfaces, then the interface implicitly declares a public abstract member method corresponding to each public instance method declared in Object, . It is a compile-time error if the interface explicitly declares such a method m in the case where m is declared to be final in Object. Now it is clear that all superinterface have abstract member method corresponding to each public instance method declared in Object .

Read more about interface members here

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement