在Java中,除了上述基本数据类型的变量以外,其余的全都属于引用数据类型,
包括
API中的类,如String、File等
数组(后续学习)
自定义的类,如Cars、Student
对象全部是引用数据类型
引用类型使用的场景与基本数据类型完全一样
作为属性的类型使用
作为方法的返回值类型使用
作为方法的形式参数类型使用
引用数据类型的赋值
引用类型都是对象,所以赋值都使用new调用构造方法进行赋值
例外:String类可以直接使用=赋值,不使用new,后续详细学习
基本数据类型:
变量(单纯的值)
在栈中存值
直接赋值
引用数据类型
对象(引用)
在栈中存引用,在堆中存具体对象的属性值
new ,String类和包装器类可以直接赋值
基本数据类型赋值
基本数据类型之间赋值,是将值进行拷贝
例:int a=4;
int b=6;
a=b;
引用类型的赋值都是通过new调用构造方法
例:Student stu1 = new Student(“熊爱红”21);
Student stu2 = new Student((“张杰”,27);
引用类型之间赋值,是虚地址之间的赋值
例:stu1=stu2; stu2赋值给stu1,指的是把stu2的虚地址赋值给stu1,也就是二者将指向同一个实际对象张杰。
在判断引用数据类型时判断的是地址,即虚地址一样才返回true
在判断基本数据类型时判断的是数值,即二进制一样才返回true
数据类型
来源: http://www.bubuko.com/infodetail-2304802.html