Java基础学习(十一)面向对象之Java的值传递机制

* 方法的参数传递(重点、难点)

* 1.形参方法声明时,方法小括号内的参数

* 实参:调用方法时,实际传入的参数的值

 

* 2.规则:java中的参数传递机制:值传递机制

* 1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量

* 2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递

给形参的引用类型变量。

 

【典型例题1】

  1. public static void main(String[] args) {
  2. TestArgsTransfer tt = new TestArgsTransfer();
  3. int i = 10;
  4. int j = 5;
  5. System.out.println("i:" + i + " j:" + j);//i : 10 j : 5
  6. //  //交换变量i与j的值
  7. //  int temp = i;
  8. //  i = j;
  9. //  j = temp;
  10. tt.swap(i, j);//将i的值传递给m,j的值传递给n
  11. System.out.println("i:" + i + " j:" + j);//i : 10 j : 5
  12. }
  13. //定义一个方法,交换两个变量的值
  14. public void swap(int m,int n){
  15. int temp = m;
  16. m = n;
  17. n = temp;
  18. System.out.println("m:" + m + " n:" + n);
  19. }

Java基础学习(十一)面向对象之Java的值传递机制

使用swap方法以后:

Java基础学习(十一)面向对象之Java的值传递机制

【典型例题2】

  1. public class TestArgsTransfer1 {
  2. public static void main(String[] args) {
  3. TestArgsTransfer1 tt = new TestArgsTransfer1();
  4. DataSwap ds = new DataSwap();
  5. System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
  6. tt.swap(ds);
  7. System.out.println(ds);
  8. System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
  9. }
  10. //交换元素的值
  11. public void swap(DataSwap d){
  12. int temp = d.i;
  13. d.i = d.j;
  14. d.j = temp;
  15. System.out.println(d);//打印引用变量d的值
  16. }
  17. }
  18. class DataSwap{
  19. int i = 10;
  20. int j = 5;
  21. }

Java基础学习(十一)面向对象之Java的值传递机制

weinxin
我的微信
有问题微信找我
DannyWu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: