Java 是否每个数据类型都继承自对象?

Java 是否每个数据类型都继承自对象?,java,Java,我有一个采用Object类型参数的方法: public static void test(Object foo) { System.out.println(foo); } 我可以传递foo:字符串、整数、布尔值等等……几乎任何东西。我认为这是可能的,因为Object是基类,其他所有内容都从该基类继承,因此它接受任何有效的数据类型。我可以理解像字符串和数组这样的对象的情况。但是为什么原始类型是这样的呢?整数、字符和布尔值是否也从对象继承 否,基元类型不继承自对象,因为它

我有一个采用Object类型参数的方法:

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

我可以传递foo:字符串、整数、布尔值等等……几乎任何东西。我认为这是可能的,因为Object是基类,其他所有内容都从该基类继承,因此它接受任何有效的数据类型。我可以理解像字符串和数组这样的对象的情况。但是为什么原始类型是这样的呢?整数、字符和布尔值是否也从对象继承

否,基元类型不继承自
对象,因为它们不是类。当您从Java5+向这个方法传递一个基元类型时会发生什么,编译器会将您的基元转换成一个包装类。例如,
int
将自动转换为
整数
(在后台使用临时变量)这将使代码可编译。

在此框中,则会发生加宽…例如:如果为long,则首先将其框入到long,然后加宽到Object类。

可能重复@jww,但它不是重复的。@jww不是constructive@Chopper-见和路标。此外,你应该使标题中的问题与身体中的问题相同。副本是为你标题中的问题准备的。如果你不想问标题中的问题,那么你可能应该改变它。@Chopper-因为你接受了答案,我们对你想知道的有了更好的了解。下面是另一个可能对您更有建设性的建议: