Java 类型库(类)的方法未定义

Java 类型库(类)的方法未定义,java,Java,如何使用Loanable方法使setDueOn(calendar.getTime)和setLoanedTo(name)发挥作用 “您的库借阅方法应使用传入的可借阅项来设置到期日和借阅人。您希望对传入实例的可借阅项调用这些设置方法。” 我得到了错误 类型库的方法setDueOn未定义 类型库的方法setLoanedTo未定义 对不起,所有的代码 package src.edu.htc.java1.library; import java.util.ArrayList; import java.u

如何使用Loanable方法使setDueOn(calendar.getTime)和setLoanedTo(name)发挥作用

“您的库借阅方法应使用传入的可借阅项来设置到期日和借阅人。您希望对传入实例的可借阅项调用这些设置方法。”

我得到了错误 类型库的方法setDueOn未定义 类型库的方法setLoanedTo未定义 对不起,所有的代码

package src.edu.htc.java1.library;

import java.util.ArrayList;
import java.util.Calendar;


public class Library {

    /* The collection of Media owned by the library */
    private ArrayList<Media> collection = new ArrayList<Media>();
    public void addToCollection(Media item) {
    collection.add(item);
    }

    public void loan(Loanable item,String name) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, item.getDaysToLoan()); // Now this is asking the helper how many days to loan for
        setDueOn(calendar.getTime()); 
        setLoanedTo(name);
        return(setdueOn(Loanable));     

    }

}

3

如果继承类没有实现,您的媒体类可能需要实现注释中指出的可贷接口,然后此方法:

public void loan(Loanable item,String name) {
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, item.getDaysToLoan()); // Now this is asking the helper how many days to loan for
    setDueOn(calendar.getTime()); 
    setLoanedTo(name);
    return(setdueOn(Loanable));     
}
存在一些需要修复的错误:

  • 如果您声明一个方法
    void
    ,这意味着它不能(也不应该)返回任何内容,所以不要在其中使用任何return语句
  • 需要对特定对象调用方法调用
    setDueOn
    setLoanedTo
    ,在本例中为
    。目前,您正试图用
    类的本地名称调用方法,而这些方法并不存在
  • 如果查看方法
    setDueOn(datedueon)
    ,您会注意到它需要的是日期,而不是类或接口名称
  • 更正后,该方法可能如下所示:

    public void loan(Loanable item,String name) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, item.getDaysToLoan());
        item.setDueOn(calendar.getTime()); 
        item.setLoanedTo(name);
    }
    

    可能还有其他问题,但代码确实有点太长,无法浏览……

    我认为您的
    媒体
    类应该实现一个
    Loanable
    接口,就像
    公共抽象类Media implements Loanable一样{
    如果您要向我们倾诉大量代码,请努力使其更加紧凑,并删除不必要的空行和注释等。这样人们就更有可能实际查看它:)
    public void loan(Loanable item,String name) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, item.getDaysToLoan()); // Now this is asking the helper how many days to loan for
        setDueOn(calendar.getTime()); 
        setLoanedTo(name);
        return(setdueOn(Loanable));     
    }
    
    public void loan(Loanable item,String name) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, item.getDaysToLoan());
        item.setDueOn(calendar.getTime()); 
        item.setLoanedTo(name);
    }