【发布时间】:2014-02-24 12:07:56
【问题描述】:
请解释:
- 第三个要点
- 第 5 行(粗体)
- 倒数第二行
【问题讨论】:
标签: java class object interface abstract
请解释:
【问题讨论】:
标签: java class object interface abstract
Every class in Java is implicitly (or explicitly) a sub type of java.lang.Object.
Object 类是所有其他类的超类(第 8.1.4 节)。
因此,您可以在任何类类型的任何变量上调用Object 中声明的任何方法。
String var = ...;
var.hashCode();
interface 类型变量也必须如此
SomeInterface var = ...;
var.hashCode();
因此,interface 必须隐式声明(如abstract)java.lang.Object 中声明的那些方法。
你不能重写final方法,但是一个接口声明的方法必须在子类型中实现,所以如果接口声明一个在@987654332中声明为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
无法从Child 引用中获取Parent 的值。
【讨论】: