【发布时间】:2014-07-28 11:25:25
【问题描述】:
在下面的代码中,仅在构造函数中创建数组是否有任何优点/缺点/原因,即我应该注意的下面两个 sn-ps 代码之间有什么区别?
仅在构造函数中。
public class multidimensionalarraysExp {
public multidimensionalarraysExp() {
int[][] intArray = new int[][]{{1, 2, 3},{4, 5, 6},{7, 8, 9}};
}
}
与此相比:
public class multidimensionalarraysExp {
private int[][] intArray;
public multidimensionalarraysExp() {
intArray = new int[][]{{1, 2, 3},{4, 5, 6},{7, 8, 9}};
}
}
我假设这是因为如果我在构造函数中创建它,我不能说它是公共的还是私有的等等。那么这是否默认为某些东西?
我当然可以这样做,但是为什么首先要有构造函数呢?
public class multidimensionalarraysExp {
private intArray = new int[][]{{1, 2, 3},{4, 5, 6},{7, 8, 9}};
public multidimensionalarraysExp() {
}
}
一些基本问题,但我不明白为什么甚至需要构造函数.....
【问题讨论】:
-
我建议投反对票是因为这样一个问题是任何面向对象语言中“基本培训”的一部分,所以你表示你还没有学过关于对象,因此要求接受 OOP 基础知识的培训。
-
作为一个实例变量,它可以在我们创建多维arraysExp对象时设置和获取,否则它仅限于一个范围。
-
不,我问的是为什么在很多情况下你真的不需要构造函数时。我相信这是一个有效的问题。
标签: java multidimensional-array constructor