Java中新建一個類,其默認繼承Object類,可是我們並沒有明確寫出,那Java是如何處理的?
有兩種可能,一種是Java編譯器,在編譯的時候,給沒有明確繼承關係的類加上Object父類;另一種可能是JVM在加載該類的時候加上。
筆者做了一個試驗。
一 新建一個類
package com.swjtu.ps;
public class DefaultDerived {
public static void main(String[] args) {
System.out.println(new DefaultDerived().toString());
}
}
二 用JDK自帶的反編譯工具javap反編譯生成的class文件得到:
Compiled from "DefaultDerived.java"
public class com.swjtu.ps.DefaultDerived extends java.lang.Object{
public com.swjtu.ps.DefaultDerived();
public static void main(java.lang.String[]);
}
看來是Java編譯器幹的。