对象数组声明

时间:2014-10-04 15:32:09

标签: java arrays class oop

我对下面两行感到困惑。

MyClass myobj[];
myobj = new MyClass[numberVariable];

我希望第1行会像:

MyClass[] myobj;

但代码有效并且没有错误。

解释是什么?

2 个答案:

答案 0 :(得分:3)

作为JLS

  

[]可以在声明开头作为类型的一部分出现,也可以作为特定变量的声明者的一部分,或两者兼而有之。

所以即使这是可能的

float[][] f[][], g[][][], h[];

相当于

float[][][][] f;
float[][][][][] g;
float[][][] h;

这更具可读性,不是吗?

答案 1 :(得分:0)

两者都是Java中的有效语法,尽管MyClass[] myobj对我来说更有意义,因为你声明了一个MyClass类型的数组。