Java 如何从main方法中的另一个类创建List对象?

Java 如何从main方法中的另一个类创建List对象?,java,list,object,methods,main-method,Java,List,Object,Methods,Main Method,我必须在main方法中创建一个List对象,但我不知道如何做。类的构造函数,我想创建一个对象,它有一个列表作为参数 如何创建CashMachine类的对象 顺便说一下,我不会写所有的课程,因为它很长 以下是我的课程: public class CashMachine { private State state; List<Account> accountList; private CashCard cashCard;

我必须在main方法中创建一个List对象,但我不知道如何做。类的构造函数,我想创建一个对象,它有一个列表作为参数

如何创建CashMachine类的对象

顺便说一下,我不会写所有的课程,因为它很长

以下是我的课程:

    public class CashMachine {
        private State state;
        List<Account> accountList;
        private CashCard cashCard;
        private Account selectedAccount;

        public CashMachine(List<Account> accountList){
            this.accountList = accountList;
        }
    }

public class TestMain {
    public static void main(String[] args) throws Exception {
        CashMachine cashMachineObj = new CashMachine(); //it is false

    }
}
公共类提款机{
私营国家;
清单会计清单;
私人现金卡;
私人账户选择账户;
公用提款机(列表帐户列表){
this.accountList=accountList;
}
}
公共类TestMain{
公共静态void main(字符串[]args)引发异常{
CashMachine cashMachineObj=new CashMachine();//为false
}
}

您编写了一个构造函数,它需要一个列表。。。所以,令人惊讶的是,你必须提供一个

简单,将编译,但错误:

CashMachine cashMachineObj = new CashMachine(null);
更好:

CashMachine cashMachineObj = new CashMachine(new ArrayList<>());
其中account1、account2将是Account类的现有对象。

如果您阅读,您将看到
列表实际上是一个接口

接口就像协议一样。接口中的方法没有实现。实现接口的类必须提供这些实现。你不能仅仅通过调用构造函数来创建一个新的
List
对象,因为用没有实现的方法来创建一个对象是没有意义的

您应该做的是创建实现
List
的类的对象,例如,
ArrayList

 ArrayList<Account> accounts = new ArrayList<>();
ArrayList accounts=new ArrayList();

现在,您可以将
帐户
传递给
出纳机的构造函数

您需要在构造函数中传递
列表
类型参数。
 ArrayList<Account> accounts = new ArrayList<>();