java中的基本类型有8种:
byte | 8bit |
short | 16bit |
int | 32bit |
long | 64bit |
float | 32bit |
double | 64bit |
char | 16bit |
boolean | 1bit |
像String类、数组都是引用数据类型。
八个基本数据类型不能看作对象,存放在栈中。但都有对应的包装类,包装类就是对象了。比如Integer j = new Integer(10)。j属于对象的引用,引用放在栈中,而实际的数据10 则放在堆中。对象的销毁---对象的引用放在栈中,所以使用完引用就被从栈中销毁了,但是实际的对象仍然存放在堆中,只有在没有任何的引用使用它的时候才被垃圾回收器销毁掉。
除了基本类型,其余的(都是对象)当做参数传递给方法时,传的都是引用,有点像c里面的传地址,所以当这些对象在方法里面被改变的时候,方法外面的原对象一起被改变了。其实方法里面和外面的都是同一个对象,不过就是用了不同的引用罢了。常见的有String,数组,类对象。