接口:Java语言规范

接口:Java语言规范,java,class,object,interface,abstract,Java,Class,Object,Interface,Abstract,请解释: 第三点 第五行(粗体) 倒数第二行 类对象是所有其他类的超类(§8.1.4) 因此,您可以对任何类类型的任何变量调用Object中声明的任何方法 String var = ...; var.hashCode(); 对于接口类型变量也必须如此 SomeInterface var = ...; var.hashCode(); 因此,接口必须隐式声明(作为抽象)在java.lang.Object中声明的那些方法 您不能重写final方法,但接口声明了必须在子类型中实现的方法,因此,如果

请解释:

  • 第三点
  • 第五行(粗体)
  • 倒数第二行
  • 类对象是所有其他类的超类(§8.1.4)

    因此,您可以对任何类类型的任何变量调用
    Object
    中声明的任何方法

    String var = ...;
    var.hashCode();
    
    对于
    接口
    类型变量也必须如此

    SomeInterface var = ...;
    var.hashCode();
    
    因此,
    接口
    必须隐式声明(作为
    抽象
    )在
    java.lang.Object
    中声明的那些方法

    您不能重写
    final
    方法,但接口声明了必须在子类型中实现的方法,因此,如果接口在
    java.lang.Object
    中声明为
    final
    的方法,则会引发编译时错误

    接口可以在其主体中声明类、接口和字段。如果子接口声明了具有相同名称的任何子接口,那么它将隐藏这些子接口。因此,它不会继承它们

    比如说,

    public static void main(String[] args) throws Exception {
        System.out.println(Parent.answer);
        System.out.println(Child.answer);
    }
    
    interface Parent {
        int answer = 42;
    }
    
    interface Child extends Parent {
        int answer = 0;
    }
    
    印刷品

    42
    0
    
    无法从
    子项
    引用中获取
    父项
    的值