搜尋

首頁  >  問答  >  主體

Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?

黄舟黄舟2798 天前680

全部回覆(3)我來回復

  • 怪我咯

    怪我咯2017-04-18 10:15:08

    1、Java中並不存在任何一個類別對應數組,並且數組屬於Java語言的一部分。
    2、資料是特殊的對象,本身就實現了CloneableObjectclone方法的javadoc中有這麼一句Note that all arrays are considered to implement the interface Cloneable ,所以數組是可以直接使用< code>clone方法的。 CloneableObjectclone方法的javadoc中有这么一句Note that all arrays are considered to implement the interface Cloneable ,所以数组是可以直接使用clone方法的。
    3、数组对象天生就有一个finallength3、陣列物件天生就有一個finallength屬性,因為陣列並沒有定義在任何一個類別中,所以沒有來源碼。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:15:08

    Java的陣列就是數組,沒有類別與之對應。
    數組所使用的clone()並非一定要類別才能擁有呀,只要編譯器提供了這種語法,一樣可以實現。
    同樣的,數組的length也是編譯器解析出來的數組屬性,並非由Java實現,也自然看不到Java的源碼。

    回覆
    0
  • ringa_lee

    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
    這又超出了我們的認知

    回覆
    0
  • 取消回覆