在Java中除了8种基本数据类型外,其他数据类型全部都是引用(reference)数据类型,Java语言的引用数据类型,其实就相当于C语言中的指针类型,引用事实上就是指针,它是指向一个对象的内存地址。而引用数据类型变量中所存储的就是这个内存地址。引用数据类型用来表示复杂数据类型,常见的引用数据类型有:类、接口、数组、枚举等。
引用类型常见的有:String、StringBuffer、ArrayList、HashSet、HashMap等。
例如:String类就是引用数据类型
基本数据类型和引用数据类型的区别
1、存储位置
基本数据类型:在方法中定义的非全局基本数据类型变量的具体内容是存储在栈内存中的;
引用数据类型:只要是引用数据类型变量,其具体内容都是存放在堆内存中的,而栈中存放的其实是具体内容所在内存的地址;我们通过变量地址就可以找到变量的具体内容,例如通过门牌号就能找到房间一样。
2、传递方式
基本变量类型:在方法中定义的非全局基本数据类型变量,调用方法时作为参数时按数值传递的;
引用变量类型:引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本