1. 基本类型与引用类型在内存中的保存内容

变量分为两种:基本类型、引用类型。

基本类型的数据保存数值本身;而引用类型的变量保存的是引用值,即指向内存空间的地址

 

2. 基本类型和引用类型的区别

(1)访问方式:

基本类型:操作和保存—变量的实际的值

引用类型:值保存在内存中。操作的是对象的引用

(2)存储的位置

基本类型:保存在栈区

引用类型:引用地址存放在栈区,实际对象存放在堆区

 

 

3.引用传递和值传递

(1)值传递:方法调用时,实参将它的“值”传递给对应的形参,

函数接收到的是原始值的副本,此时内存中存在两个相等的基本类型——所以若方法中对形

参执行操作,并不会影响实参的值

 

(2)引用传递:方法调用时,实际参数的引用(是指地址,而不是参数的值)被传递给方法中相应的形式参数,函数接收到的是原始值的内存地址。

在方法中,形参和实参的内容相同,方法中对于形参的处理会影响实参的值。

 

public void test01(int a){ 
 a = ++a;
 System.out.println(a);
}
public void test02(People people){
 people.height = 100;
 System.out.println(people.height);
}

 

main方法测试:

int a = 200;
test01(1);
System.out.println(a);
 
People p = new People;
p.height = 200;
test02(p);
System.out.println(p.height);

 

输出结果:

201
200
100
100