首页 > 解决方案 > 如何将 ferrari 和 rollsroyce 类别添加到我的 ArrayList

问题描述

我正在开发一个“在线购物商店”,并且我有一个包含通用属性和方法的抽象产品类,由充当“产品类别”的子类继承,例如电话。

我有另一个名为 ProductDatabase 的类,其中包含用于存储 Product 对象的 ArrayList。在这个类中,我有一个方法 'public put(Product)' 用于提供将产品添加到数据库的功能。

在我的主类中,我有'public static ProductDatabase generateSampleDatabase(),它初始化并返回带有产品的 ProductDatabase 对象。

https://i.imgur.com/eQB64eT.png

https://i.imgur.com/1GAuD02.png

标签: javaarrays

解决方案


与其让你ProductDatabase持有一个你的集合,Vehicles不如让它持有一个泛型类型,例如任何实现产品接口的对象。 ArrayList<? implements Product>是你如何声明这个集合。然后你可以这样声明你的车辆类:public class Vehicle implements Product

现在显然这取决于您的系统设计以及您认为对象图的外观,但这只是一个一般概念。希望这可以帮助


推荐阅读