java子类怎么用父类的数组
子类数组访问父类元素:1. 如果声明类型为父类,可直接访问父类元素;2. 如果声明类型为子类,需要向上转型为父类才能访问父类元素。
直接访问
- 如果子类数组的声明类型为父类类型,则可以直接访问数组中的父类元素。
- 例如:
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);
向上转型
- 如果子类数组的声明类型为子类类型,则需要将数组元素向上转型为父类类型才能访问父类元素。
- 使用 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子类怎么用父类的数组的详细内容,更多请关注硕下网其它相关文章!