有没有更简单的方法可以在Java中的子类和超类的ArrayList上调用子类的方法

用户名

我有一个类(我们称它为Vehicle)和一个子类(Car)。两者的实例都存储在一个ArrayList中。Car的方法doStuff()不是从车辆继承的。我想对ArrayList中的每辆车都做doStuff()。这是我想到的最简单的解决方案:

vehicleList = new ArrayList<Vehicle>();
            roster.add(new Vehicle());
            roster.add(new Car());

            for (Vehicle v: vehicleList){
                    if (v instanceof Car){
                            ((Car) v).doStuff();
                    }
            }

但是我觉得有一种更简单的方法可以做到这一点。因此,在此先感谢您能提供一个更简单的解决方案。

创建

如果您的列表被声明为List<Vehicle>,那么这就是正确的方法-您必须先检查单个项目是否为Truck,或Car或其他内容,才能知道

如果Vehicle有必要使用该方法,则可以在该方法中声明该方法,doStuff并且默认情况下不执行任何操作,然后在中放置一个真正的实现Car不过,这通常是不良设计的标志。

另一种选择是获取一个List<Car>替代项,因此您不必检查列表中每个项的类型。您也可以将它doStuff作为接口的一部分放置CanDoStuff,因此不必进行Car检查-通过这种方式,您也可以轻松地将其应用于其他类。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从 Java 中超类类型的 ArrayList 调用子类方法

来自分类Dev

在没有`self`的〜Factory子类中调用factory_boy超类方法。

来自分类Dev

在Java中,“ this”在继承该方法的子类上调用的超类方法中表示什么?

来自分类Dev

有没有更简洁的方法可以在Ruby中的地图上调用外部方法?

来自分类Dev

Java超类调用子类方法

来自分类Dev

在子类上调用虚拟方法将返回超类数据

来自分类Dev

在子类上调用虚拟方法将返回超类数据

来自分类Dev

超类引用无法在Java中调用子类方法

来自分类Dev

如何在Java中从超类调用子类方法?

来自分类Dev

您如何在Java中从超类调用子类方法?

来自分类Dev

有没有更简单的方法可以在SQL和PHP中执行此查询

来自分类Dev

子类和超类方法

来自分类Dev

有没有一种合适的方法来实现一个子类,该子类具有与Python中其超类不同的方法签名?

来自分类Dev

在Java中,允许子类通过公共setter方法更改超类私有字段是否正确?

来自分类Dev

有没有一种方法可以通过值将纯抽象类的所有子类传递给C ++中的函数?

来自分类Dev

子类中的方法可以重载超类中的方法吗?

来自分类Dev

我可以在超类的数组上调用子类吗?

来自分类Dev

有没有更简单的方法可以写这个?

来自分类Dev

有没有更简单的方法可以写这个?

来自分类Dev

有没有一种简单的方法可以在对象向量上调用构造函数?

来自分类Dev

CoffeeScript中对基类方法和子类方法的调用之间有什么区别?

来自分类Dev

当子类调用超类的方法时,如何获得超类来引用子类中的属性?

来自分类Dev

有没有更简单的方法可以从空手道测试中调用Java断言并提供断言失败消息?

来自分类Dev

有没有一种pythonic的方法可以跳过对子类的方法的修饰?

来自分类Dev

java-从动态转换的超类调用子类方法

来自分类Dev

从子类调用超类的方法

来自分类Dev

NSNotificationCenter从超类还是子类调用方法?

来自分类Dev

从超类调用子类方法-设计模式

来自分类Dev

NSNotificationCenter从超类或子类调用方法?

Related 相关文章

  1. 1

    从 Java 中超类类型的 ArrayList 调用子类方法

  2. 2

    在没有`self`的〜Factory子类中调用factory_boy超类方法。

  3. 3

    在Java中,“ this”在继承该方法的子类上调用的超类方法中表示什么?

  4. 4

    有没有更简洁的方法可以在Ruby中的地图上调用外部方法?

  5. 5

    Java超类调用子类方法

  6. 6

    在子类上调用虚拟方法将返回超类数据

  7. 7

    在子类上调用虚拟方法将返回超类数据

  8. 8

    超类引用无法在Java中调用子类方法

  9. 9

    如何在Java中从超类调用子类方法?

  10. 10

    您如何在Java中从超类调用子类方法?

  11. 11

    有没有更简单的方法可以在SQL和PHP中执行此查询

  12. 12

    子类和超类方法

  13. 13

    有没有一种合适的方法来实现一个子类,该子类具有与Python中其超类不同的方法签名?

  14. 14

    在Java中,允许子类通过公共setter方法更改超类私有字段是否正确?

  15. 15

    有没有一种方法可以通过值将纯抽象类的所有子类传递给C ++中的函数?

  16. 16

    子类中的方法可以重载超类中的方法吗?

  17. 17

    我可以在超类的数组上调用子类吗?

  18. 18

    有没有更简单的方法可以写这个?

  19. 19

    有没有更简单的方法可以写这个?

  20. 20

    有没有一种简单的方法可以在对象向量上调用构造函数?

  21. 21

    CoffeeScript中对基类方法和子类方法的调用之间有什么区别?

  22. 22

    当子类调用超类的方法时,如何获得超类来引用子类中的属性?

  23. 23

    有没有更简单的方法可以从空手道测试中调用Java断言并提供断言失败消息?

  24. 24

    有没有一种pythonic的方法可以跳过对子类的方法的修饰?

  25. 25

    java-从动态转换的超类调用子类方法

  26. 26

    从子类调用超类的方法

  27. 27

    NSNotificationCenter从超类还是子类调用方法?

  28. 28

    从超类调用子类方法-设计模式

  29. 29

    NSNotificationCenter从超类或子类调用方法?

热门标签

归档