在Java中,使用传递子类数组作为父类

标签

我有三个类模拟:EntitiesPlantsAnimals(植物和动物extends的实体)。

我希望一种方法能够对三个数组进行排序,数组中的元素都继承自同一类。

有没有一种方法可以将所有数组作为父类传递给方法。

我正在打电话:

sortEntityArray(AnimalList);

从:

void sortEntityArray(ArrayList<Entity> ListToSort) {
        boolean sorted = false;
        while (sorted == false) {
            sorted = true;
            for (int i1 = 0; i1 < ListToSort.size() - 1; i1++) {
                if (ListToSort.get(i1).PositionX < ListToSort.get(i1 + 1).PositionX) {
                    sorted = false;
                    //switch
                    Entity Temp = ListToSort.get(i1);
                    ListToSort.set(i1, ListToSort.get(i1 + 1));
                    ListToSort.set(i1, Temp);
                }
            }
        }
    }

当我尝试通过时,出现以下错误:
The method sortEntityArray(ArrayList<Entity>) in the type World is not applicable for the arguments (ArrayList<Animal>)

伊多斯

有没有办法将所有数组作为父类传递给方法?

是的,如果您通过了考试,ArrayList<Entity>您将可以使用所有这三种类型,因为它们extend是同一父类。

我会尝试将方法的签名更改为:

void sortEntityArray(ArrayList<? extends Entity> ListToSort)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

应在子类或父类中传递参数

如何将子类的函数名称作为参数传递给python中的父类方法?

自动装配子类,但使用父类作为参考

为什么在Java继承期间在父类中声明的数组在子类中不可见?

从java / kotlin中的父抽象类数组调用子类函数

在父类中插入数组列表以覆盖子类

查找字段是Java中哪个类,父类或子类?

使用JAXB将子类实例作为超类传递

使用父类的变量来调用子类中的函数[java示例中的多态]

UIViewController继承:将参数传递给作为UIViewController子类的父类

子类作为父类的返回类型

将主类值作为数组存储在子类中

在 Java 中调用和链接子类和父类

访问Java中父类的每个子类

从Java中父类的静态方法获取子类

Java:使用父类方法访问子类变量

Java:在子类中使用父类的静态方法

使用子类作为参数传递

在父类中使用的子类中初始化属性

js使用反射在父类方法中创建子类

如何在React中将Json对象数组从子类组件传递到父类组件?

遍历页面中的父类,并使用python中的硒确定父类是否存在子类

类继承,使用子类设置父类

如何通过父类指针使用未在父类中定义的子类方法?

Python将父类变量作为子类中的即时变量访问

将类的子类作为类型参数传递(类型参数是子类)

sizeof childclass 如何在父模板类中使用子类作为模板参数?

子类在调用继承的方法(Java)时会使用父类还是子类方法

如何使用基类类型提示在函数中传递子类