Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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 - Fatal编程技术网

Java 从外部类引用静态嵌套类对象

Java 从外部类引用静态嵌套类对象,java,Java,我想引用外部类中静态嵌套类的对象的变量。这样行吗 public class GuiApp { static class book{ static book [] book = new book[1000]; static Boolean overdue; static Boolean checkedOut; static int bookNum; static String personName;

我想引用外部类中静态嵌套类的对象的变量。这样行吗

public class GuiApp {
    static class book{

        static book [] book = new book[1000];
        static Boolean overdue;
        static Boolean checkedOut;
        static int bookNum;
        static String personName;
        static String dueDate;
        static int month;
        static int date;
        static int year;
        static String dateCheckedOut;
    }
}
例如,后面引用外部类中book[50]的变量字符串personName

book.book[50].personName = "Bob";

我不确定我是否理解正确,所以我想知道这是否可行

在访问该数组的元素之前:

book.book[50].personName = "Bob";
您必须初始化该元素:

book.book[50] = new GuiApp.book();
我还建议不要对类和数组使用相同的名称


但是,将
图书
类的所有属性设置为静态没有任何意义,因为这意味着所有图书都具有相同的值。

哦,我刚刚去掉了static关键字,但现在我无法引用外部类中的变量和图书对象。W@noobProgrammer那么book[]数组应该保持静态。不过,您应该重命名该变量。它可能与类名冲突。@Eran
book.book[50]=new-GuiApp.book()
我认为这不是必需的?@eatSleepCode如果您不这样做,book.book[50]将保持为空,并且
book.book[50]。personName
将抛出NullPointerException。@Eran您访问的静态字段不需要类的对象来访问它。这里没有内部类。有一个静态嵌套类。不是同一件事。你的类名应该以大写字母开头,不要在两件事上使用相同的名称。需要将变量book的名称更改为arrBook或books。