我有一个类,其中数组是全局声明的,public
这些数组是通过此类中的方法初始化的。它们不在构造函数中。我有另一个类,我使用extends
来允许我访问这些值。当然,我收到一个空指针异常。我该如何解决这个问题?我不需要覆盖这些数组。 JUst需要在方法内部使用它们来填充其他数组。
我现在已经有一段时间了。我对java的经验仍然很少。 任何建议,将不胜感激。谢谢大家
我所说的一个例子:
public class Parent{
public double hey[ ];
public double [] fillHey(){
hey = new double[57]
for(int k = 0; k<57; k++)
{
hey[k] = k+2;
}
}
}
儿童班:
public class Child extends Parent{
public double you[ ];
public double[ ] fillYou(){
you = new double[57];
for(int k = 0; k<57; k++)
{
you[k] = (k+2) * hey[k];
}
}
}
答案 0 :(得分:2)
您没有在任何一个类的构造函数中实例化hey
数组,因此当您在子类中使用它时它仍为null。
你可以
在构造函数
或在子类中的fillYou()
方法中实例化它(在使用它之前)。
答案 1 :(得分:1)
如果你想从子类访问hey [],你必须这样调用它:
double a[] = super.hey;
希望它适合你!