java中值传递和引用传递


java中方法内部修改变量说明:

1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值

2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。 

3、方法体内对参数进行运算,不影响原有变量的值。 

4、方法体内对参数所指向对象的属性进行操作,将改变原有变量所指向对象的属性值。 
--------------------- 


public class Main {

private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
b = true; //形参,不会改变原有值
boo = new Boolean(true); //引用变量的直接操作相当于值传递,不会改变原来的引用变量
arr[0] = true; //引用变量的属性的操作,会改变原有引用的属性,相当于传址调用
}

//测试
public static void main(String[] args) {
boolean b = false;
Boolean boo = new Boolean(false);
Boolean[] arr = new Boolean[]{false};

getMiddleOne(b, boo, arr);

System.out.println(b);
System.out.println(boo.toString());
System.out.println(arr[0]);

/**
* output:
* false
* false
* true
*/
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM