Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到Java对象名称中的类中的类_Java_Oop - Fatal编程技术网

找不到Java对象名称中的类中的类

找不到Java对象名称中的类中的类,java,oop,Java,Oop,当我运行此代码时,我收到一条消息,它无法找到符号簿 然而,根据我(周)的理解,这个错误不应该发生,因为Book是Library中的类,我是从它的对象定义它的 请帮助和指导。提前感谢您的帮助您的图书班是图书馆的成员。所以您只能通过库类访问它。所以你的代码应该是 class Library { String libraryName; String address; Library(String namelibrary) { libraryName=

当我运行此代码时,我收到一条消息,它无法找到符号簿

然而,根据我(周)的理解,这个错误不应该发生,因为Book是Library中的类,我是从它的对象定义它的
请帮助和指导。提前感谢您的帮助

您的图书班是
图书馆的成员
。所以您只能通过库类访问它。所以你的代码应该是

class Library {

    String libraryName;
    String address;

    Library(String namelibrary)
    {
        libraryName=namelibrary;
    }

    Book[] books=new Book[150];

    void addBook(Book newBook)
    {
        books[i]= newBook;
        i++;
    }

    class Book
    {
        String title;
        boolean borrowed;
    }
}

public class test{

    public static void main(String[] args) 
    {
         Library firstLibrary = new Library("10 Main St.");
         Library secondLibrary = new Library("228 Liberty St.");
         firstLibrary.books[0]= new Book("Maths");
    }
}
然后,您的下一个错误是您没有接收名称的图书的适当构造函数。喝一杯就可以了

 firstLibrary.books[0]= firstLibrary.new Book("Maths");
好的,看起来在这个方法中还有一个错误

class Book {

        String title;
        boolean borrowed;

        public Book(String title) {
            this.title = title;
        }

    }
你从来没有申报过你的i。请声明它并初始化

void addBook(Book newBook) {
        books[i] = newBook;
        i++;
    }

看起来您最近开始使用Java。所以暂时不要使用嵌套类。

您的图书类是
库的成员。所以您只能通过库类访问它。所以你的代码应该是

class Library {

    String libraryName;
    String address;

    Library(String namelibrary)
    {
        libraryName=namelibrary;
    }

    Book[] books=new Book[150];

    void addBook(Book newBook)
    {
        books[i]= newBook;
        i++;
    }

    class Book
    {
        String title;
        boolean borrowed;
    }
}

public class test{

    public static void main(String[] args) 
    {
         Library firstLibrary = new Library("10 Main St.");
         Library secondLibrary = new Library("228 Liberty St.");
         firstLibrary.books[0]= new Book("Maths");
    }
}
然后,您的下一个错误是您没有接收名称的图书的适当构造函数。喝一杯就可以了

 firstLibrary.books[0]= firstLibrary.new Book("Maths");
好的,看起来在这个方法中还有一个错误

class Book {

        String title;
        boolean borrowed;

        public Book(String title) {
            this.title = title;
        }

    }
你从来没有申报过你的i。请声明它并初始化

void addBook(Book newBook) {
        books[i] = newBook;
        i++;
    }

看起来您最近开始使用Java。因此,暂时不要使用嵌套类。

尝试在类库之后定义类书,如

class Library {

String libraryName;
String address;
private int i = 0;
..
..

尝试在类库之后定义类书,如

class Library {

String libraryName;
String address;
private int i = 0;
..
..

这不是真正的代码,很难帮助你。也许是包装上的污点,进口的???很难说你需要告诉编译器你想要
库中的
,所以你需要
新库。书
不仅仅是
新书
。此外,在自己的文件中声明类并避免这样的嵌套类更为常见。由于
Book
不是一个“第一级”类,例如
,因此在
测试
类的上下文中无法直接访问它。要实际实例化一个新的
Book
项,您应该调用
Book
构造函数,比如
Library.newbook(“数学”)。此外,如果您计划实例化多个“库”类,您可能应该使用关键字
private
String Library
String address
设置为private。这不是真正的代码,很难帮助您。也许是包装上的污点,进口的???很难说你需要告诉编译器你想要
库中的
,所以你需要
新库。书
不仅仅是
新书
。此外,在自己的文件中声明类并避免这样的嵌套类更为常见。由于
Book
不是一个“第一级”类,例如
,因此在
测试
类的上下文中无法直接访问它。要实际实例化一个新的
Book
项,您应该调用
Book
构造函数,比如
Library.newbook(“数学”)。此外,如果您计划实例化多个“库”类,您可能应该使用关键字
private
String Library
String address
设为private,它现在仍然是一个内部类。。。它将产生相同的错误问题不是来自封闭类中的
Book
类位置,而是如何实例化新的
Book
项。它现在仍然是一个内部类。。。它将产生相同的错误问题并非来自封闭类中的
Book
类位置,这是一本新的
书籍
项的实例化方式。非常感谢您帮助我解决问题并指出错误。事实上,我对Java是新手,但我的代码非常庞大,我想把导致问题的部分放在这里,并删除其他部分。所以在这个过程中,我删除了书中的int-i声明和构造函数以及不相关的部分,再次感谢。我没想到会有这么多人来回答我并指出错误。事实上,我是Java新手,但我的代码非常庞大,我想把导致问题的部分放在这里,并删除其他部分。所以在这个过程中,我删除了书中的int-i声明和构造函数以及不相关的部分,再次感谢。我没想到会有压倒性的反应