下面代码执行有什么结果:
class Person {
public void print() {
System.out.println("Person");
}
}
class Worker extends Person {
public void print() {
System.out.println("Worker");
}
}
class Student extends Person {
public void print() {
System.out.println("Student");
}
}
public class Test {
public static void main(String[] args) {
Person[] p = new Worker[10];
p[0] = new Student();
p[0].print();
}
}
结果:
编译没有错误
输出:
Exception in thread "main" java.lang.ArrayStoreException: Student
at Test.main(Test.java:24)
注:
在Java中数组是类型兼容的。
如果将一个不兼容的类型插入到数组中,将抛出ArrayStoreException。