创建一个继承对象数组

时间:2014-12-03 19:01:50

标签: java arrays class main extends

我试图创建一个方法,将某个对象添加到一个继承对象数组中。

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

在主类中,我创建了3个彼此扩展的类对象:表示文档扩展自Biblio,文章扩展自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);}}

一旦我运行代码,我就会在线程" main"中得到Exception。 java.lang.NullPointerException错误。 我是java的初学者,我无法发现帽子出了问题。

1 个答案:

答案 0 :(得分:4)

您从未初始化过去插入的数组。当您执行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++;
           }
      }