2014-10-10 37 views
1

我有一個使用對象類型參數的方法:每個數據類型是否都繼承自Object?

public static void test(Object foo) 
    { 
    System.out.println(foo); 
    } 

我可以通過富:字符串,整數,布爾值,等等......幾乎任何東西。我認爲這是可能的,因爲Object是一切從其繼承的基類,因此它接受任何有效的數據類型。我可以理解這種情況就像是Strings和Arrays這樣的對象。但爲什麼原始類型是這種情況?整數,字符和布爾值是否也繼承自Object?

+0

可能重複(HTTP:/ /stackoverflow.com/questions/2490875/object-class-as-super-class-in-java) – jww 2014-10-10 03:31:41

+1

@jww它不是重複的。 – 2014-10-10 03:32:23

+0

@jww不具有建設性 – 2014-10-10 04:11:48

回答

6

不,原始類型不要繼承自Object,因爲它們不是類。將基本類型從Java 5+傳遞給此方法時發生的情況稱爲autoboxing,編譯器會將您的基元轉換爲其中一個包裝類。例如,int將自動轉換爲Integer(在幕後使用臨時變量),這將使代碼可編譯。

在此拳
0

則出現擴大了....例如:如果長時間那麼它在龍一框,然後擴大到對象類

[Object類中的Java超類]的
相關問題