我正在尝试创建一种将特定对象添加到继承对象数组中的方法。

public class Biblio {
Biblio[] Tab; static int i=0;
Biblio();
void insert(Biblio O){Tab[i]=O;i++;}}


在主类中,我创建了3个相互延伸的类对象:意味着Document从Biblio扩展,Article从Document扩展,Book从Article扩展。

public class TestBiblio {
public static void main(String[] args) {
    Document A= new Document();
    Article B= new Article();
    Book C= new Book();
    Biblio D= new Biblio();
    D.insert(A);
    D.insert(B);
    D.insert(C);}}


一旦运行代码,我就会在线程“主” java.lang.NullPointerException错误中获得异常。
我是Java的初学者,我找不到帽子出了错。

最佳答案

您从未初始化过用于插入的数组。当您执行Tab [i]时,您将取消引用空指针。
有类似的东西

    public class Biblio {
           Biblio[] Tab;
           static int i=0;
           public Biblio() {
                  Tab = new Biblio[5];
           }
          void insert(Biblio O){
                 Tab[i]=O;i++;
           }
      }

09-13 13:57