Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?_Java_Object_Arraylist_Polymorphism_Subclass - Fatal编程技术网

Java 如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?

Java 如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?,java,object,arraylist,polymorphism,subclass,Java,Object,Arraylist,Polymorphism,Subclass,我有一个作业,要求我写几个类,现在我终于写了一个包含main方法的类。以下是本课程的说明: 对于AccountDriver类,创建: 此类的文件名应为:AccountDriver.java 一个main()方法 用于存储储蓄类或支票类的10个对象的ArrayList。将2%(0.02)用于 储蓄账户利率。使用帐号100到109。使用1000到1000的初始余额 一个名为buildSavings()的方法,通过使用 多态性。此方法应创建新的储蓄对象并填写相应的数据 通过使用构造函数调用。对象的

我有一个作业,要求我写几个类,现在我终于写了一个包含main方法的类。以下是本课程的说明:


对于AccountDriver类,创建:

  • 此类的文件名应为:AccountDriver.java
  • 一个main()方法
  • 用于存储储蓄类或支票类的10个对象的ArrayList。将2%(0.02)用于 储蓄账户利率。使用帐号100到109。使用1000到1000的初始余额
  • 一个名为buildSavings()的方法,通过使用 多态性。此方法应创建新的储蓄对象并填写相应的数据 通过使用构造函数调用。对象的类型应为Account类型,但应为 实例化为类型节省(多态)
  • 想想应该如何测试这一点。设计测试数据,彻底测试 类和继承层次结构。至少,您应该测试5个对象实例化
  • 实例化后,此方法应将储蓄帐户存储在上面创建的ArrayList中。 按升序存储储蓄帐户

  • 我已经编写了Account、Checking和Savings类,所有这些类都有两个构造函数,包括我编写的默认构造函数。支票和储蓄都可以扩展账户。Account有两个受保护的值,accountNum(int)和accountBal(double)。储蓄银行增加了一个名为interestRate的私人双重账户。账户和储蓄有其价值的获取者和设定者。支票和储蓄有@Override(对我来说是一个新概念)toString方法。它们是简单的类,真的

    现在我对这个AccountDriver类有问题,因为我应该做的所有事情都是新的

    我想先创建buildSavings()方法,但是关于创建一个类型为Account但被实例化为Savings的对象的说明真的很奇怪。我以前从来没有这样做过,我不明白我该怎么写——也许用instanceOf?这对我来说也是新鲜事

    我还感到困惑的是,所有需要放入储蓄对象的信息都包含在ArrayList指令中,因此我只写了以下内容:

    ArrayList<Savings> savingsAccount = new ArrayList<>();
    
    如果有人能给我举个例子来澄清这些奇怪的指示,那就太好了。我也会给我的老师发电子邮件,但现在是周末,所以我不能在上班时间上班


    谢谢

    尽管方向有点模棱两可,但使用的是复数而不是单数,因此我怀疑您的老师希望您在buildSavings方法中创建数组。大概是这样的:

    ArrayList<Account> accounts = new ArrayList();
    for (int i = 100; i <= 109; ++i) {
        accounts.add(new Savings(i, 0.2));
    }
    return accounts;
    
    ArrayList,或者干脆用谷歌搜索一下

    ArrayList<Account> accounts = new ArrayList();
    for (int i = 100; i <= 109; ++i) {
        accounts.add(new Savings(i, 0.2));
    }
    return accounts;