Java學習日記------面向對象④
阿新 • • 發佈:2018-03-05
你好 color ava 數據類型 可變 引用 system for 面向對象
一、體會可變個數的形參
1.格式:對於方法的形參 數據類型 ...形參名
2.可變形參的方法與同名的方法構成重載
3.可變個數的形參在調用時個數從0開始到無窮多個都可以。
4.使用可變個數的形參與方法的形參使用使用數組是一致的。
5.若一個方法中有可變個數的形參,那麽一定要聲明在方法形參的最後。
package day04; public class TestArgs { public static void main(String[] args) { TestArgs c=new TestArgs(); c.Print("Hello"); c.Print("Hello"+"world"); c.Print(5, "你好方法重載!"); } public void Print(String ... arr) { for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } } public void Print(int j,String ...arrr) { System.out.println(j); for(int i=0;i<arrr.length;i++) { System.out.println(arrr[i]); } } }
二、方法的參數傳遞
java中的參數傳遞機制:值傳遞機制
* 1)形參是基本數據類型的
package day04; /* * java中的參數傳遞機制:值傳遞機制 * 1)形參是基本數據類型的,將實參的值傳遞給形參 * 2)形參是引用數據類型的 */ public class TestArgsTransfer { public static void main(String[] args) { TestArgsTransfer tt=new TestArgsTransfer(); int i=10; int j=5; System.out.println("i:"+i+" j:"+j); //交換變量的值 int temp=i; i=j; j=temp; System.out.println("i:"+i+" j:"+j); tt.swap(i, j);//i:5 j:10 沒有交換 //將i的值傳遞給了M,將j的值傳遞給了N.操作僅僅是在tt.swap()內,而並不影響i和j. System.out.println("i:"+i+" j:"+j); } public void swap(int M,int N) { int temp=M; M=N; N=temp; System.out.println("M:"+M+" N:"+N); } }
* 2)形參是引用數據類型的:將實參的引用類型變量的值(對應的堆空間的實體對象的首地址)傳遞給形參的引用變量。
package day04; /* * 對於引用數據類型的值傳遞 */ public class TestArgsTransfer1 { public static void main(String[] args) { TestArgsTransfer1 dd=new TestArgsTransfer1(); DataSwap gg=new DataSwap(); System.out.println("gg.i:"+gg.i+" gg.j:"+gg.j ); dd.swap(gg); System.out.println("gg.i:"+gg.i+" gg.j:"+gg.j ); } public void swap(DataSwap tt) { int temp=tt.i; tt.i=tt.j; tt.j=temp; } } class DataSwap { int i=10; int j=5; }
Java學習日記------面向對象④