【问题标题】:Invoke a subclass method from arraylist从 arraylist 调用子类方法
【发布时间】:2012-04-19 17:32:45
【问题描述】:

我有一个名为 dvdToRent 的子类,在该类中有一个名为 dvdRental 的方法,我想直接从名为 dvdCompany 的 arrayList 调用它

public void dvdRental (int dvdNumber, String customer)
{         

    if (dvds.size() < 0) {
       System.out.println("Empty list");
       }
       else if (dvdNumber >= dvds.size()) {
           System.out.println("Doesn't exist!!");
        }
    else {

        dvd  = dvds.get(dvdNumber);
        dvdToRent.dvdrental(customer);
    } 
}

这就是我在想的可能它可以调用该方法但它没有,它在最后一行给了我一个错误。有什么建议?提前致谢!

【问题讨论】:

  • 我们需要查看更多代码。并且可能是错误消息。
  • 你看起来更像是反射类型的类方法调用吗?

标签: java methods arraylist subclass superclass


【解决方案1】:

您不能直接从 List 调用方法,因为 List 是对象的集合。您必须选择此集合中的一个特定元素。

例如这样:

dvdToRent.get(0).dvdrental(customer);

这会从名为 dvdToRent 的 List 中取出第一个元素,然后使用该元素调用带有参数 customer 的 dvdrental。

【讨论】:

  • 我正在尝试从用户那里获取 dvd 编号,以便它适用于倒数第二行中的特定 dvd。获得 DVD 编号后,我希望它调用该方法以便租用它。
【解决方案2】:

假设dvd 被声明为dvdToRent,看起来你希望你的最后一行是

dvd.dvdrental(customer);

而不是

dvdToRent.dvdrental(customer);

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 1970-01-01
    • 2012-09-18
    • 2017-11-09
    • 2011-10-24
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多