-
基本数据类型比较数据值
-
引用数据类型比较地址值
Java两大数据类型:内置数据类型/基本数据类型、引用数据类型
-
基本数据类型:直接存储在内存中的内存栈上,数据本身的值就是存储在栈空间
-
引用数据类型:应用数据类型继承于Object类,引用(即指针)是存储在有序的内存栈上,而对象本身的值存储在内存堆中
基本数据类型和封装类的区别
-
定义不同,封装类是对象,基本数据类型不是
-
使用方式不同,封装类需要先new初始化,在通过JVM根据具体情况实例化后赋予定值,基本数据类型可以直接赋值,某些集合类型必须使用包装类,不能使用基本数据类型,如ArrayList
-
初始值不同,包装类初始值默认为null,基本数据类型根据类型不同而值不同
-
存储位置不同,封装类分拆引用和实例,引用存储在栈(stack),具体实例存储在堆(heap),基本数据类型存储在栈中(stack)
内置数据类型/基本数据类型(8种)
-
整数型(4种):byte、short、int、long
-
浮点型(2种):float、double
-
字符类型(1种):char
-
布尔类型(1种):boolean
引用数据类型(3种)
-
引用类型指向一个对象,指向对象的变量是引用变量,这些变量在声明时候被指定为一个特定的类型,声明之后不能改变
-
引用数据类型包括:类(对象)、接口、数组
-
所有引用类型默认值都是null
-
一个引用变量可以用于引用任何与之兼容的类型