2017-06-23 83 views
-2

爲什麼找到陣列的長度就像什麼是數組如果它不是一個類(不像數組列表是一個類)?

array.length;

和不

array.length();

我知道數組不是一個類,所以長度不是一個函數,所以沒有();如果長度不是一個函數那麼它是什麼以及它如何返回長度? 如果數組不是一個類,那麼它是什麼? 編譯器在找到數組時是如何執行的?它是如何實現的?它是否會生成多個變量?

+1

已添加的第三個副本會在指定JLS「length」的哪個位置進行詳細說明。 – Makoto

回答

3

要回答你的問題,如果一個數組是一個對象與否:

從Java文檔:

在Java編程語言中,數組是對象(第4.3.1節)是動態創建的,可以分配給Object類型的變量(§4.3.2)。可以在數組上調用Object類的所有方法。

參見:http://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html

要回答什麼「長」是:

你只是訪問長度字段,而不是調用的函數的調用。

相關問題