Java學習筆記11
阿新 • • 發佈:2019-01-30
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方法,實現方法命名的解耦。