int 是 Java 中的一个对象吗?

2022-09-05 00:31:32

更准确地说,int 是 Integer 类的一部分(精简版本或其他内容)还是完全是其他内容?

我知道int是一种值类型,Integer是一种引用类型,但是int是否从Object继承?

(我假设在这方面int,long,boolean等都是相似的。


答案 1
  • Java 中的基本类型不是对象,也不继承自对象。

  • 自从Java 1.5引入以来,允许在int和Integer(以及其他类型)之间自动装箱。

  • 因为 ints 不是不能用作泛型类型参数的对象,例如 inTlist<T>


答案 2

来自“基元数据类型”:“基元类型是内置于语言中的特殊数据类型;它们不是从类创建的对象。反过来,这意味着不,不会以任何方式从java.lang.Object继承,因为只有“从类创建的对象”才能做到这一点。考虑:int

int x = 5;

为了使名为的事物从 Object 继承,该事物需要具有类型。请注意,我正在区分它自己和它命名的东西。 有一个类型,它是 ,但命名的是值 5,它本身没有类型。它只是一个表示整数值“5”的位序列。相比之下,请考虑:xxxintx

java.lang.Number y = new java.lang.Integer(5);

在本例中,具有 Number 类型,而 named 的事物具有 Integer 类型。命名的事物是一个对象。它具有独特的类型,无论其他任何东西。yyyy


推荐