1. 程式人生 > >Java學習日記------面向對象④

Java學習日記------面向對象④

你好 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學習日記------面向對象④