值类型和引用类型 。
一般情况下,我们声明一个变量: Object o = new Object(); 实际上是创建了一个引用(Object o)和一个对像(new Object())。 java的内存模型中有堆和栈两个空间,将引用放入栈,将对的象放入堆。 “引用”的值是“对像”在堆中的地址。 “对像”的值是真正的数据。这就是引用类型。 二般情况下,java中还有8种特殊的数据类型 byte,short,int,long,char,boolean,float,double 这几种类型不是对象。为了节省空间,其值直接存到了栈里。 int i=1; i放放到了栈中,其值是1,而不是对象在堆中的地址。这就是值类型