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;
}