如何使构造函数设置全局数组的长度?
我已经尝试了几种方法,没有成功。
示例:
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确定的数组。
答案 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
}