java子类怎么用父类的数组

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

java子类怎么用父类的数组

如何使用父类数组访问 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);

向上转型

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