1.基本数据类型:byte,short,long,int,float,double,char
2.引用数据类型:所有的类,数组,接口
一个对象包括两部分:对象的值,对象的引用(即对象的地址)
String s=new String("123");
这里s是一个引用类型变量,s中存放的是一个String类型对象的地址,这个String类型变量的值是“123”,这个String类型变量的引用存放在s中,这个String类型变量的值与引用都是不可修改的;
s+="234";
此时s中存放的变成了一个新的String类型对象的地址,这个String类型变量的值是“123234”,这个String类型变量的引用存放在s中,这个String类型变量的值与引用都是不可修改的;(原来的那个值为"123'的String类型对象仍然存在,只是它的引用已经不存放在s中了);
例如:
import java.util.Arrays;
public class test {
public static void main(String[] args) {
int []p={1,2,3,4};
System.out.println(p);//p是引用类型,p中存放的是一个值为[1,2,3,4]的数组对象的地址,所以打印p是打印这个数组对象的引用而非这个数组对象的值[1,2,3,4]
System.out.println(Arrays.toString(p));//使用Arrays类,打印这个数组对象的值[1,2,3,4]
}
}