Java I';我收到一个错误-找不到书本的符号列表
我已经看了很久了,我不明白为什么它找不到图书清单。我是否在我的Java I';我收到一个错误-找不到书本的符号列表,java,cannot-find-symbol,Java,Cannot Find Symbol,我已经看了很久了,我不明白为什么它找不到图书清单。我是否在我的公共类库中错误地定义了它? 代码如下: Library.java import java.util.List; import java.util.ArrayList; public class Library { private List<Book> listOfBooks; private int capacity; private boolean libLimited; public
公共类库中错误地定义了它?
代码如下:
Library.java
import java.util.List;
import java.util.ArrayList;
public class Library {
private List<Book> listOfBooks;
private int capacity;
private boolean libLimited;
public Library() {
libLimited = false;
}
public Library(int inCapacity) {
libLimited = true;
capacity = inCapacity;
}
public void addBook(Book newBook) {
if (newBook != null && !newBook.equals("")) {
throw new IllegalArgumentException("Can't be empty");
}
listOfBooks.add(newBook);
}
public String numberAvailableBooks() {
boolean newBookPresent = false;
for (Book newBook : listOfBooks) {
if (!newBook.isBorrowed()) {
return (newBook.getTitle());
newBookPresent = true;
}
}
}
public int hasBookWithTitle(String bookTitle) {
for (Book book : listOfBooks) {
if (bookTitle.equalsIgnoreCase(listOfBooks.getTitle()) == true) {
return true;
}
}
return false;
}
public String getBookWithTitle(String bookTitle) {
for (Book book : listOfBooks) {
if (bookTitle.equlsIgnoreCase(listOfBooks.getTitle()) == true) {
return listOfBooks;
}
}
return null;
}
}
有人能告诉我我做错了什么吗?listOfBooks
是Library类中的一个私有变量,因此无法在Book类中访问。您可能应该创建一个访问器方法,例如
public static List<Book> getListOfBooks() {
return listOfBooks;
}
公共静态列表getListOfBooks(){
返回图书目录;
}
在Library类中,通过调用Library.getListOfBooks()
,可以访问其他类中图书馆的图书列表。在这种情况下,您还需要将listOfBooks的声明更改为静态。您还可以将其设置为使listOfBooks不是静态的,但是您必须将Library对象附加到Book对象才能访问此listOfBooks变量
以下是有关此模式的更多信息:
本着封装的精神,通常将字段设置为私有。这意味着它们只能从Bicycle类直接访问。然而,我们仍然需要访问这些值。这可以通过添加为我们获取字段值的公共方法间接实现:
您可以包括完整的错误消息,包括行号吗?符号:变量listOfBooks位置:class Book./Book.java:120:错误:找不到的符号(Book Book:listOfBooks){错误在Book.java中,您只向我们显示了Library.java。请同时包含您的Book类。
public static List<Book> getListOfBooks() {
return listOfBooks;
}