Java 如何从main方法中的另一个类创建List对象?
我必须在main方法中创建一个List对象,但我不知道如何做。类的构造函数,我想创建一个对象,它有一个列表作为参数 如何创建CashMachine类的对象 顺便说一下,我不会写所有的课程,因为它很长 以下是我的课程: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;
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<>();