soa*_*dos 9 java primitive inheritance
更准确地说,int是Integer类的一部分(一个精简版或其他东西),还是完全不同的东西?
我知道int是一个值类型而Integer是一个引用类型,但int是否仍然从Object继承?
(我假设在这方面int,long,boolean等都是相似的.为方便起见,只选择了int)
Rya*_*art 18
从"原始数据类型":"原始类型是语言中内置的特殊数据类型;它们不是从类创建的对象." 反过来,这意味着不,int不以任何方式从java.lang.Object继承,因为只有"从类创建的对象"才能这样做.考虑:
int x = 5;
Run Code Online (Sandbox Code Playgroud)
为了使命名的东西x从Object继承,那个东西需要有一个类型.请注意,我区分了x它自己和它命名的东西.x有一个类型,它是int,但命名的东西x是值5,它本身没有类型.它只是一个表示整数值"5"的位序列.相反,考虑:
java.lang.Number y = new java.lang.Integer(5);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,y类型为Number,而名为y的类型为Integer.命名的东西y是一个对象.它有一个独特的类型,无论y其他什么或其他任何东西.
mik*_*002 17
Java中的基本类型不是对象,也不是从Object继承.
自Java 1.5引入以来,允许在int和Integer(以及其他类型)之间进行自动装箱.
因为int不是不能用作泛型类型参数的对象,例如Tinlist<T>