子类数组访问父类元素:1. 如果声明类型为父类,可直接访问父类元素;2. 如果声明类型为子类,需要向上转型为父类才能访问父类元素。

如何使用父类数组访问 Java 子类
直接访问
- 如果子类数组的声明类型为父类类型,则可以直接访问数组中的父类元素。
- 例如:
class ParentClass {
int x;
}
class ChildClass extends ParentClass {
int y;
}
ParentClass[] parentArr = new ParentClass[2];
parentArr[0] = new ChildClass();
parentArr[1] = new ChildClass();
// 直接访问父类元素
System.out.println(parentArr[0].x);向上转型
完全公开源代码,并无任何许可限制 特别基于大型电子商务网站的系统开发 Microsoft SQL Server 2000后台数据库,充分应用了存储过程的巨大功效 基于类模块的扩展数据访问能力支持任何类型的大型数据库 加密用户登录信息(cookie) 易于安装的系统和应用功能 100%的asp.net的代码,没有COM,java或者其他的格式 完全基于MS建议的系统安全设计 最佳的应用程序,数据库
- 如果子类数组的声明类型为子类类型,则需要将数组元素向上转型为父类类型才能访问父类元素。
- 使用
instanceof运算符检查元素类型,然后使用强制转换操作符(ParentClass)。 - 例如:
ChildClass[] childArr = new ChildClass[2];
childArr[0] = new ChildClass();
childArr[1] = new ChildClass();
// 向上转型并访问父类元素
for (ChildClass child : childArr) {
if (child instanceof ParentClass) {
ParentClass parent = (ParentClass) child;
System.out.println(parent.x);
}
}其他注意事项
立即学习“Java免费学习笔记(深入)”;
- 访问数组中父类元素时,只能访问父类成员,不能访问子类特有的成员。
- 对于基本类型数组,可以使用自动装箱和拆箱进行向上转型和向下转型。










