首页 > 解决方案 > 如何获取获取新对象并将其添加到 ArrayList 的方法?

问题描述

我最近才开始学习代码,如果这是微不足道的,请原谅我,但我似乎无法弄清楚,这是一个简单的课堂作业。在这里,我的教授给了我们这个,并告诉我自己创建结帐课程。我的问题是如何enterItem在结帐类中创建将“rice”和“baguette”对象添加到 ArrayList 中的方法?

public static void main(String[] args) {

        Checkout checkout = new Checkout();

        checkout.enterItem(new Rice("Basmati Rice", 2.25, 399));
        checkout.enterItem(new Baguette("Wheat Baguette", 105));

这有点像我尝试过的,但它不起作用,我不确定为什么或如何使它起作用

public class Checkout {
       
    ArrayList items = new ArrayList();
    
    public void enterItem(){
        items.add()
    }
}

标签: javaarraylist

解决方案


checkout.enterItem(new Rice("Basmati Rice", 2.25, 399));

该代码正在调用该enterItem方法并将 aRice作为参数传递。

public void enterItem(){
    items.add()
}

enterItem方法不接受任何参数,因此不起作用。你可以这样做...

public void enterItem(Rice rice){
    items.add(rice);
}

这适用于Rice,但不适用于Baguette (除非Baguetteextends Rice)。您可以添加 2 个版本enterItem

public void enterItem(Rice rice){
    items.add(rice);
}

public void enterItem(Baguette bag){
    items.add(bag);
}

如果RiceBagquette在继承/实现层次结构中共享它们之上的某些内容,则可以使用以下方法:

public class Baguette implements Edible {}


public class Rice implements Edible {}


public void enterItem(Edible edible){
    items.add(edible);
}

推荐阅读