java纯粹面向对象吗?

nav*_*611 4 java

我们说java不是纯粹的面向对象,因为原始数据类型不是对象.但在下面的代码中,对象如何保存原始数据类型?

public class Test{

    public Object meth(Object obj){
        System.out.println(obj instanceof Object);//It prints true
        System.out.println("Value = "+obj);//It prints "Value = 1"
        return obj;
    }


    public static void main(String[] args) {
        int a = 1;
        System.out.println(new Test().meth(a));
    }
}
Run Code Online (Sandbox Code Playgroud)

rra*_*rra 8

它被称为自动装箱.基本上,当您在需要它们作为对象的上下文中使用它们时,Java编译器会将原始数据类型转换为对象.