Java 语言的设计者在考虑数组相关类型转换时,采用了向上转型的方式,即允许把一个子类数组赋值给父类数组引用的变量。这是因为 Java 数组是协变的 (covariant),简单说就是子类型可以替代父类型。为了让 Java 类型系统更加符合人类直觉,保证数组使用的方便性和灵活性,Java 引入了数组的协变特性。
instanceoftrue
ArrayStoreException
Java 语言的设计者在考虑数组相关类型转换时,采用了向上转型的方式,即允许把一个子类数组赋值给父类数组引用的变量。这是因为 Java 数组是协变的 (covariant),简单说就是子类型可以替代父类型。为了让 Java 类型系统更加符合人类直觉,保证数组使用的方便性和灵活性,Java 引入了数组的协变特性。
instanceoftrue
ArrayStoreException