Java-值类型与引用类型

值类型就是基本数据类型(如int ,double 等)
而引用类型,是指除了基本的变量类型之外的所有类型(如通过 class 定义的类型)。
基本的变量类型只有一块存储空间(分配在stack中);
而引用类型有两块存储空间(一块在stack中,一块在heap中)。

Java-值类型与引用类型

引用类型在传参时不是在heap中再分配一块内存来存变量c 所指向的A(),
而是让a 指向同一个A 的实例
基本数据类型,是按值传递的。以参数形式传递简单类型的变量时,
实际上是将参数的值作了一个拷贝传进方法函数的,那么在方法函数里再怎么改变其值,
其结果都是只改变了拷贝的值,而不是源值。

Java-值类型与引用类型
Java-值类型与引用类型

(1) 引用是一种数据类型(保存在stack中),保存了对象在内存(heap,堆空间)中的地址,
      这种类型即不是我们平时所说的简单数据类型也不是类实例(对象);

(2) 不同的引用可能指向同一个对象,换句话说,一个对象可以有多个引用,
      即该类类型的变量。

参考:https://www.cnblogs.com/SilentCode/p/4858790.html