Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调用初始化数组长度的数组构造函数?_Java_Arrays_Constructor - Fatal编程技术网

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

Java 如何调用初始化数组长度的数组构造函数?,java,arrays,constructor,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 wor

如何创建构造函数来设置全局数组的长度

我已经尝试过几种方法,但都没有成功

例如:

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
}
公共类{
公共类(整数长度){

double[]数组=新的double[length];我认为它就这么简单:

public class MyClass{
    double[] array;

    public MyClass(int length){
        array = new double[length];
    }
}
我还使代码实际编译:)您缺少一些关键字等

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


同时调用类
class
是一个错误的选择,即使是作为一个例子,因为它与
java.lang.class
冲突,将数组声明为成员变量。然后在构造函数中初始化它

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];

    }

}
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;
    }    
}
你能做到

public  class Test  {
 double[] array;

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


}
公共类测试{
双[]阵列;
公共测试(整数长度){

array=new double[length];我不知道您想要实现什么,但为什么不这么做:

public class Class{
    public Class(int length){
        this.array = new double[length]; // <- this is not global
    }
    double[] array;
}
公共类{
公共类(整数长度){

this.array=new double[length];//在构造函数外部声明
double[]array
,然后创建对象
array=new double[length]
在构造函数内部?正如一句旁白:你不应该给你的类命名ClassI相信你应该阅读Java中的面向对象编程,这些都是非常基础的。请更正代码,你从来没有在这里定义过
,而且选择
,因为类名与
java.lang.Class
!@谢谢大家。我没意识到。