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

Java 如何从子类中的父类访问数组?,java,parent-child,superclass,extends,Java,Parent Child,Superclass,Extends,我有一个类,其中数组是全局声明的,public这些数组是通过类中的方法初始化的。它们不在构造函数中。我还有一个类,我使用扩展来访问这些值。当然,我收到一个空指针异常。我该如何着手解决这个问题?我不需要覆盖这些数组。只需要在方法内部使用它们来填充其他数组 我做这件事已经有一段时间了。我对java的经验仍然很少。 如有任何建议,将不胜感激。谢谢大家 我所说的一个例子: public class Parent{ public double hey[ ]; public double [] f

我有一个类,其中数组是全局声明的,
public
这些数组是通过类中的方法初始化的。它们不在构造函数中。我还有一个类,我使用
扩展
来访问这些值。当然,我收到一个空指针异常。我该如何着手解决这个问题?我不需要覆盖这些数组。只需要在方法内部使用它们来填充其他数组

我做这件事已经有一段时间了。我对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;
    }
   }
 }
公共类父类{
公众双喜【】;
公共双[]fillHey(){
嘿=新双人房[57]

对于(int k=0;k您没有在任何一个类的构造函数中实例化
hey
数组,因此在子类中使用它时它仍然为null

你也可以

  • 在构造函数中实例化它

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


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

你也可以

  • 在构造函数中实例化它

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


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

你也可以

  • 在构造函数中实例化它

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


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

你也可以

  • 在构造函数中实例化它

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


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

double  a[] = super.hey;

希望它对您有用!

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

double  a[] = super.hey;

希望它对您有用!

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

double  a[] = super.hey;

希望它对您有用!

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

double  a[] = super.hey;



希望它对你有用!

你忘了用语言标记问题。啊看起来@Damien让我盖上了谢谢你的提醒你忘了用语言标记问题。啊看起来@Damien让我盖上了谢谢你的提醒你忘了用语言标记问题。啊看起来@Damien让我盖上了谢谢你的提醒你忘了用语言标记问题了。啊,看起来@Damien把我盖上了。谢谢你的提醒。我不知道。超级()。我还需要更改此代码的其他内容吗?请考虑super引用父类,因此,如果父类包含公共X属性,您可以使用super访问它。XIt与调用父方法和构造函数相同。不,有了这些信息,希望您能够了解如何执行所需操作。谢谢。我也希望必须在两个类中的构造函数中实例化它吗?是的,我认为必须首先在调用的构造函数中初始化数组才能使用它。我明白了。我不知道。super()。我还需要更改此代码的其他内容吗?请考虑super引用父类,因此,如果父类包含公共X属性,您可以使用super访问它。XIt与调用父方法和构造函数相同。不,有了这些信息,希望您能够了解如何执行所需操作。谢谢。我也希望必须在两个类中的构造函数中实例化它吗?是的,我认为必须首先在调用的构造函数中初始化数组才能使用它。我明白了。我不知道。super()。我还需要更改此代码的其他内容吗?请考虑super引用父类,因此,如果父类包含公共X属性,您可以使用super访问它。XIt与调用父方法和构造函数相同。不,有了这些信息,希望您能够了解如何执行所需操作。谢谢。我也希望必须在两个类中的构造函数中实例化它吗?是的,我认为必须首先在调用的构造函数中初始化数组才能使用它。我明白了。我不知道。super()。我还需要更改此代码的其他内容吗?请考虑super引用父类,因此,如果父类包含公共X属性,您可以使用super访问它。XIt与调用父方法和构造函数相同。不,有了这些信息,希望您能够了解如何执行所需操作。谢谢。我也希望必须在任何一个类的构造函数中实例化它,比如提到的@Szymon?是的,我想你必须首先在你调用的构造函数中初始化数组才能使用它。因此,如果我从父类中使用相同的名称,编译器会识别它?是的,它会识别它。完美。这非常有用。比如果我从父类中使用相同的名称,编译器会识别它?是的,它会识别它。完美。这非常有用。谢谢。如果我从父类中使用相同的名称,编译器会识别它。是的,它会识别它。完美。这非常有用。如果我使用它,谢谢使用来自父类的相同名称,编译器将识别此名称?是的,它将识别