Java 创建继承对象的数组
我试图创建一个方法,将某个对象添加到继承对象的数组中Java 创建继承对象的数组,java,arrays,class,main,extends,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扩展,书籍从Article扩展 public class TestBiblio { public static void main(String
public class Biblio {
Biblio[] Tab; static int i=0;
Biblio();
void insert(Biblio O){Tab[i]=O;i++;}}
在主类中,我创建了3个相互扩展的类对象:表示文档从Biblio扩展,文章从Document扩展,书籍从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”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++;
}
}
您从未初始化用于插入的数组。当您执行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++;
}
}
您应该执行如下操作:Biblio[]Tab=new-Biblio[指定计数];而且你的构造函数没有body,你能发布完整的堆栈跟踪吗?所有的类都在同一个包/文件夹中吗?是的,它起作用了,我必须添加Tab=new Biblio[5];在构造函数中,您应该执行如下操作:Biblio[]Tab=new Biblio[specify_count];而且你的构造函数没有body,你能发布完整的堆栈跟踪吗?所有的类都在同一个包/文件夹中吗?是的,它起作用了,我必须添加Tab=new Biblio[5];在构造函数中。