面试--Java基础--值传递和引用传递

mac2024-05-11  39

请你解释什么是值传递和引用传递?

值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。

引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本,并不是原对象本身 。 所以对引用对象进行操作会同时改变原对象。

基本数据类型
public static void method(int a){ a--; System.out.println("method a: "+a); } @Test public void test() throws Exception{ int a = 10; method(a); System.out.println("outer a: "+a); }

运行结果

method a: 9 outer a: 10
引用类型
public static void methodReference(Integer a){ a = 9999; System.out.println("method a: "+a); } @Test public void testReference() throws Exception{ Integer a = 1000; methodReference(a); System.out.println("outer a: "+a); }

运行结果

method a: 9999 outer a: 1000
最新回复(0)