接口是否继承自ObjectJava中的类?
如果没有那么我们如何能够在接口实例上调用对象类的方法
public class Test {
public static void main(String[] args) {
Employee e = null;
e.equals(null);
}
}
interface Employee {
}
Run Code Online (Sandbox Code Playgroud) 如果您定义如下所示的界面
interface I1{
}
Run Code Online (Sandbox Code Playgroud)
您可以在任何代码部分中编写
I1 i1;
i1.equals(null);
Run Code Online (Sandbox Code Playgroud)
然后从equals方法到来的地方,接口是否也扩展了超类Object ?,如果那样,接口可以如何扩展类?
假设让接口扩展超类Object,那么如果你看到为什么像Set thave这样的集合接口定义了equals()和hashCode()方法?所有类都扩展了Object类,因此如果在Object类中定义的接口中定义任何抽象方法,那么实现接口的人就不需要实现这些方法.如下面的代码
interface I1{
String toString();
}
class A implements I1{
}
Run Code Online (Sandbox Code Playgroud)
这里的类A不需要实现方法toString(),因为它存在于Object类中.那么在集合接口中定义那些方法的目的是什么,因为它们不能强制实现类来实现那些方法.