java数据类型图:
                                             ┏数值型━┳━整数型:byte short int long
              ┏基本数据类型━━┫              ┗━浮点型:float double
              ┃                            ┣字符型:char                                         
数据类型╋                            ┗布尔型:boolean             
              ┃                            ┏类(class)
              ┗引用数据类型━━╋接口(interface)
                                             ┗数组(array)
java的数据类型分基本数据类型(原始数据类型)和引用数据类型;
1.基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:short a;  java会在可使用的内存空间寻找一个占两个字节的块给a变量;
2.引用数据类型就那三种,类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址,想具体知道看看数据结构就好了。

通俗讲,一、上图记住很够用;二、说内存、谈地址基本都是说引用而非基本;三、你可以把内存地址理解是你学号,而对象实体就是你,每次找你通过学号找,这就是引用;

这个知识点的应用:
1.“==”作用在引用数据类型间,判断内存地址是否相等,想判断内容实体用equals;
2、基本传值传参传的是副本,修改后原值不变;引用传值传参穿的是地址,修改后原值改变。

引用类型  就是只变量中存储的不是值而是一个内存中的地址的数据类型
也就是说  变量中存储了这个变量的值所在内存中的地址  每次调用这个变量都是引用这个地址而得到真正的值 所以叫引用类型 
 
引用说的土一点就是变量名和变量值是分开的,比如说Student s = new Student(),s就是个引用类型的变量,s这个名分配在栈空间里,但是s它指向的值在堆空间里,就好像指针的味道样。
希望对你有帮助!