>>689
配列自体はオブジェクトで、配列のlengthは
public final なフィールドだろ。

>>690
.classは型名の後につけることでその型に関連した
クラスリテラルを取得することができる。
つまり、int[]も型名の1つだからOK。
もちろん配列ではなくても取得できる。
int.classとかね。
当然、int[].classとint.classで取得できる
クラスリテラルは異なるけど。
ただし、同一のものならどう参照しても同じものが
取得できる。たとえば、
java.lang.String.classと指定しても
String.classと指定しても
同じクラスリテラルが取得できる。