1. 程式人生 > >Java學習筆記11

Java學習筆記11

Object類是所有類、陣列、列舉類的父類,是類層次結構的根類。每個類都使用Object作為超類。所有物件(包括

陣列)都實現這個類的方法。 

Object類實現了以下方法:


我們來看看在原始碼中registerNatives()方法:

 private static native void registerNatives();
    static {
        registerNatives();
    }

從上面的程式碼中看到Object類定義了一個靜態初始化塊,我們知道當建立Java物件時,系統總是先呼叫靜態初始化塊

在上面的靜態初始化塊中呼叫了registerNatives()方法,並且使用了private來修飾,表面這個方法是私有的並不被外部調

用。

在Java中使用native關鍵字修飾的方法,說明此方法並不是由Java中完成的,而是通過C/C++來完成的,並被編

譯成.dll,之後才由Java呼叫。方法的具體實現是在dll檔案中,當然對於不同平臺實現的細節也有所不同,以上

registerNatives()方法主要作用就是將C/C++中的方法對映到Java中的native方法,實現方法命名的解耦。