创建一个继承对象数组
问题描述:
我想创建一个方法,将某个对象添加到继承对象数组中。创建一个继承对象数组
public class Biblio {
Biblio[] Tab; static int i=0;
Biblio();
void insert(Biblio O){Tab[i]=O;i++;}}
在主类,我创建的,从彼此延伸的类3点的对象:用于从文档延伸文献记录,从条延伸文件,图书从条延伸。
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++;
}
}
+0
您可以将此标记为接受的答案吗?选中标记:) – committedandroider 2014-12-03 20:16:33
+0
是的,它现在可以工作。非常感谢。 – EatingTooMuch 2014-12-08 12:48:38
你应该这样做:Biblio [] Tab = new Biblio [specify_count];并且你的构造函数没有正文 – 2014-12-03 19:04:51
你可以发布完整的堆栈跟踪吗?所有的类都在同一个包/文件夹中吗? – Mechkov 2014-12-03 19:05:02
是的它的工作,我不得不添加Tab =新Biblio [5];在构造函数中。 – EatingTooMuch 2014-12-08 12:54:52