Warum heißt es String.length() aber bei einem Array nur .length ohne die Klammern?

Beim Entwurf der Sprache Java wurde die Design-Entscheidung getroffen, dass bei einem Array die Länge in der Konstante length gespeichert wird. Der Zugriff auf diese Konstante erfolgt mit .length.

Im Gegensatz dazu erfolgt beim String-Objekt die Abfrage über die Methode length().