clone()
and finalize()
from the java.lang.Object
class.
In an interface, it is possible to declare these methods with a return type that is incompatible with the java.lang.Object
methods.
A class that implements such an interface will not be compilable.
When the interface is functional, it remains possible to create a lambda from it, but this is not recommended.
Example:
// Warning: this interface cannot be implemented
// by any class, only by a lambda or method reference
interface MyInterface {
double clone();
}