如何调用初始化Array长度的Array构造函数?

时间:2013-07-08 14:30:15

标签: java arrays constructor

如何使构造函数设置全局数组的长度?

我已经尝试了几种方法,没有成功。

示例:

public Class{

    public Class(int length){
       double[] array = new double[length]; <- this is not global

       L = length;
    }

   int L;
   double[] array = new double[L]; <- this does not work
}

我需要一个长度由Constructor确定的数组。

5 个答案:

答案 0 :(得分:7)

我认为这很简单:

public class MyClass{
    double[] array;

    public MyClass(int length){
        array = new double[length];
    }
}

我还让代码实际上编译 :)你错过了一些关键字等。

如果您想在代码中访问length,请使用array.length,而不是将其冗余地存储在单独的字段中。

即使作为一个示例,同样调用您的班级Class也是一个糟糕的选择,因为它与java.lang.Class冲突。

答案 1 :(得分:0)

public class aClass{
    //define the variable name here, but wait to initialize it in the constructor
    public double[] array;

    public aClass(int length){
        array = new double[length];

    }

}

答案 2 :(得分:0)

将数组声明为成员变量。然后在构造函数中初始化它。

public class A{    
    private double[] array;    
    public Class(int length){
        array = new double[length];  
        L = length;
    }    
}

你可以用第二种方式初始化它。但是你需要使用固定长度

public class A{    
    private double[] array = new double[100];  // use fixed length  
    public Class(int length){
        array = new double[length];   
        L = length;
    }    
}

答案 3 :(得分:0)

我不知道你想要实现什么,但为什么你不这样做只是这样:

public class Class{
    public Class(int length){
        this.array = new double[length]; // <- this is not global
    }
    double[] array;
}

答案 4 :(得分:-1)

你可以做到

public  class Test  {
 double[] array;

      public Test  (int length){
          array = new double[length]; <- this is not global


}