从另一个类访问随机变量

时间:2014-11-16 02:09:53

标签: java maven netbeans private

这可能是一个非常简单的问题,但我很困惑。我有一个主类和许多其他类。在DATA类中,将随机生成一个数组(X_TRAIN)。

public class DATA {

    public double[][] X_TRAIN;

    public DATA() throws FileNotFoundException, IOException {

         X_TRAIN = new double[2][2];
// X_TRAIN will be filled randomly
    }

    public double[][] X_TRAIN() {
        return X_TRAIN;
    }
 }

我在其他类中调用DATA类的方式如下:

DATA data_input = new DATA();

问题是,每次调用DATA时,都会生成一个全新的数组(X_TRAIN),这不是我想要的。我想拥有一个独特的X_TRAIN数组。我需要调用DATA,因为我需要访问其他类中的X_TRAIN。也许我使用错误的方法来访问X_TRAIN。我的代码是用maven编写的,IDE是netbeans。 我甚至试图将X_TRAIN定义为私有:

private double[][] X_TRAIN;

并收到以下错误:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - X_TRAIN has private access in com.mycompany.cpxr_main.DATA
at com.mycompany.cpxr_main.MAIN_CLASS.main(MAIN_CLASS.java:61)

2 个答案:

答案 0 :(得分:1)

要拥有X_TRAIN的单个实例,您需要将其定义为 static 。这样,您可以生成一次,然后通过DATA.X_TRAIN

访问它

答案 1 :(得分:1)

你可以有另一个构造函数

public DATA(double[][] trains){
  X_TRAIN = trains;
}