2014-10-10 107 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超类]的
相关问题