すっごい初心者的な質問です。

int[] a = new int [128];
のaなのですが、一体何クラスなのでしょうか。

.length で配列の長さが取れるのが不思議でなりません。
Arrayクラスというのを見てみましたが、それではないようです。

それになんで .length() ではなく .length で長さが取れるように設計されているのでしょうか。
くだらない質問ですが、どなたか解説していただけませんでしょうか。お願いします。