所以我想从另一个类调用此方法,这是一个需要字符串参数的非静态方法。但是,当我尝试在book.borrow方法的参数中输入一个参数时,它表示我不能对非静态方法进行静态引用"。我在这里做错了什么?
import java.util.Scanner;
public class LibrarySystem{
public static void main(String[]args){
book book1 = new book("Divergent", "Veronica Roth", "B001", null);
book book2 = new book("Green Eggs and Ham", "Dr Seuss", "B002", null);
System.out.printf("%s\n", book1.title.toString()+ " " + (book1.bookID.toString()));
System.out.printf("%s\n", book2.title.toString()+ " " + (book2.bookID.toString()));
Scanner students = new Scanner(System.in);
String student = String.valueOf(students);
book.borrow(student);
}
}
Underneath有我想要调用的方法
public boolean borrow(String borrowerID) {
if (bookID != null) {
this.borrowerID = borrowerID;
return true;
} else {
return false;
}
}
答案 0 :(得分:0)
book.borrow(student);
如果borrow
方法是static
方法,则上面的代码段有效。
自not-static
以来,您只能在instance
book
课程中进行调用。
book1.borrow(student);
答案 1 :(得分:0)
如果方法未声明为static,则必须在对象的实例上调用方法,而不是静态引用。您必须初始化包含该方法的类,然后运行borrow()
。