1、Java中並不存在任何一個類別對應數組,並且數組屬於Java語言的一部分。 2、資料是特殊的對象,本身就實現了Cloneable。 Object的clone方法的javadoc中有這麼一句Note that all arrays are considered to implement the interface Cloneable ,所以數組是可以直接使用clone方法的。 Cloneable。Object的clone方法的javadoc中有这么一句Note that all arrays are considered to implement the interface Cloneable ,所以数组是可以直接使用clone方法的。 3、数组对象天生就有一个final的length3、陣列物件天生就有一個final的length屬性,因為陣列並沒有定義在任何一個類別中,所以沒有來源碼。
1、Java中並不存在任何一個類別對應數組,並且數組屬於Java語言的一部分。
2、資料是特殊的對象,本身就實現了
Cloneable
。Object
的clone
方法的javadoc中有這麼一句Note that all arrays are considered to implement the interface Cloneable ,所以數組是可以直接使用clone方法的。Cloneable
。Object
的clone
方法的javadoc中有这么一句Note that all arrays are considered to implement the interface Cloneable ,所以数组是可以直接使用clone
方法的。3、数组对象天生就有一个
final
的length
3、陣列物件天生就有一個final
的length
屬性,因為陣列並沒有定義在任何一個類別中,所以沒有來源碼。Java的陣列就是數組,沒有類別與之對應。
數組所使用的clone()並非一定要類別才能擁有呀,只要編譯器提供了這種語法,一樣可以實現。
同樣的,數組的length也是編譯器解析出來的數組屬性,並非由Java實現,也自然看不到Java的源碼。
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
這又超出了我們的認知