如何从子类中的父类访问数组?

时间:2014-02-18 22:15:45

标签: java parent-child superclass extends

我有一个类,其中数组是全局声明的,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];
    }
   }
 }

2 个答案:

答案 0 :(得分:2)

您没有在任何一个类的构造函数中实例化hey数组,因此当您在子类中使用它时它仍为null。

你可以

  • 在构造函数

  • 中实例化它
  • 或在子类中的fillYou()方法中实例化它(在使用它之前)。

答案 1 :(得分:1)

如果你想从子类访问hey [],你必须这样调用它:

double  a[] = super.hey;

希望它适合你!