你可以将引用类型看成特殊的基本数据类型,只不过赋值操作不是简单的int x = 1,而是对象的首地址值
int x = 1;
int [] arr = [i@12345;
在java中对象是new出来的,所以
int [] arr = new int[3];
格式不一样,但是结果是一样的,都是将值赋给变量
因为new出来的实体在堆中,所以引用数据类型的首地址值指向堆中的实体
基本数据类型值是栈中的
你可能对最基础都还不太明了。面向对象语言应该全都是引用类型,但是java可能是为了效率,保留了八种基础类型。 所谓类型,就是一个类 class。 比如你写了一个 public class A {} 那么当你创建A的对象 A a = new A(); 的时候,a 就是A类型的。所以 int b,就是b是int 类型的。只不过int float double boolean……这八种是与别于其他类型的基本类型(因为他们保存在栈中)。后面你会看到,这八种基本类型也分别对应了它们的引用类型 Integer Float Double……