Java笔记,参数的传递

先了解一下基本的概念:
1、对象和引用:

1.1、对象和引用的概念?
	* 对象:目前在使用new运算符在堆内存中开辟的内存空间称为对象。
	* 引用:是一个变量,不一定是局部变量,还可能是成员变量。引用保存了内存地址,指向了堆内存当中的对象。
	* 所有访问实例相关的数据,都需要通过“引用.”的方式访问,因为只有通过引用才能找到对象。
	* 只有一个空的引用,访问对象的实例相关的数据会出现空指针异常。

	class Student{

		Computer com; //com是一个引用【实例变量】

		public static void doSome(){
			Computer cc; //cc是一个引用【局部变量】
		}
	}

1.2、参数的传递?
	主要研究和学习的是方法在调用的时候,涉及到参数传递的问题,到底是怎么传递数据的呢?
		值传递。
		int i = 10;
		int j = i; //i传递给j,实际上只是将i变量中保存的10传递给j了,j实际上是一块全新的内存空间。

		User u = 0x1234;
		User u2 = u; //u传递给u2,实际上是将0x1234这个值赋值给u2了,u和u2实际上是两个不同的局部变量,
						 //但是它们这两个变量指向堆内存中同一个java对象。

Test01.class

public class Test01 {
    
    

    public static void main(String[] args) {
    
    
        int i = 10;
        add(i);  // add方法调用的时候,给add方法传递了一个变量i,到底传的是什么?
        System.out.println("main ———>" + i);  // 10
    }

    public static void add(int i){
    
    
        i++;
        System.out.println("add ———>" +i);  // 11
    }
}

Java虚拟环境(JVM)内存分析图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44630560/article/details/105733916