怪我咯2017-04-18 10:15:08
1、Java中並不存在任何一個類別對應數組,並且數組屬於Java語言的一部分。
2、資料是特殊的對象,本身就實現了Cloneable
。 Object
的clone
方法的javadoc中有這麼一句Note that all arrays are considered to implement the interface Cloneable ,所以數組是可以直接使用< code>clone方法的。 Cloneable
。Object
的clone
方法的javadoc中有这么一句Note that all arrays are considered to implement the interface Cloneable ,所以数组是可以直接使用clone
方法的。
3、数组对象天生就有一个final
的length
3、陣列物件天生就有一個final
的length
屬性,因為陣列並沒有定義在任何一個類別中,所以沒有來源碼。
PHP中文网2017-04-18 10:15:08
Java的陣列就是數組,沒有類別與之對應。
數組所使用的clone()並非一定要類別才能擁有呀,只要編譯器提供了這種語法,一樣可以實現。
同樣的,數組的length也是編譯器解析出來的數組屬性,並非由Java實現,也自然看不到Java的源碼。
ringa_lee2017-04-18 10:15:08
Class c = int[].class;
System.out.println(c.getPackage());
System.out.println(c.getName());
System.out.println(Modifier.toString(c .getModifiers()));
可以這麼理解:
數組類是一組特殊的類,由JVM運行時動態生成,包括它的length屬性及其它方法實現
除了int[], boolean[] 這種數組外,
還包含用戶自定義類型的數組, 例如com.yourPackage.YourClass[] 這種格式的數組,以及2維,3維..多維數組
有個有趣的輸入結果
int[]類別的修飾符是 public abstract final
這又超出了我們的認知