值传递和引用传递

来源:互联网 发布:水滴筹靠谱吗 知乎 编辑:程序博客网 时间:2024/06/05 00:32

值传递(形参传递的是基本数据类型):

参数在传递过程中仅传的是复制过的值,参数本身并没有改变

  1. public class TempTest {  
  2. private void test1(int a){  
  3. a = 5;  
  1. System.out.println("test1方法中的a="+a);  
  2. }  
  3. public static void main(String[] args) {  
  4. TempTest t = new TempTest();  
  5. int a = 3;  
  6. t.test1(a);//传递后,test1方法对变量值的改变不影响这里的a  
  7. System.out.println(”main方法中的a=”+a);  
  8. }  
  9. }

  10. //test1中的结果为5
  11. //main方法中的结果为3  也就是说main中的t.test1(a)操作不影响a本身的值

引用传递(形参传递的是引用数据类型):

参数在传递的过程中就是传递的参数本身,更改就是本身

  1. public class TempTest {  
  2. private void test1(A a){  
  3. a.age = 20;  
  4. System.out.println("test1方法中的age="+a.age);  
  5. }  
  6. public static void main(String[] args) {  
  7. TempTest t = new TempTest();  
  8. A a = new A();  
  9. a.age = 10;  
  10. t.test1(a);  
  11. System.out.println(”main方法中的age=”+a.age);  
  12. }  
  13. }  
  14. class A{  
  15. public int age = 0
  16. }

  17. //test1方法中的age=20  
  18. //main方法中的age=20 






















原创粉丝点击