JAVA參數傳值,可變參數

引用類型參數的傳值

一個類聲明的兩個對象如果具有相同的引用,二者就具有相同的變量。

Battery.java 

package zhiChuanDi;

public class Battery {
	int eleAmount;
	Battery(int amount){ //構造方法
		eleAmount = amount;
	}
}

Radio.java

package zhiChuanDi;

public class Radio {
	void openRadio(Battery battery) {
		battery.eleAmount = battery.eleAmount-10;
	}
}

ChuanDiZhi.java

package zhiChuanDi;

public class ChuanDiZhi {

	public static void main(String[] args) {
		Battery nanFu = new Battery(100);//電池對象,電量100
		Radio xiaoHao = new Radio();//收音機對象,每次消耗10
		xiaoHao.openRadio(nanFu);//使用收音機一次
		System.out.println(nanFu.eleAmount);//剩餘電量
	}
}

Battery中的電池對象nanFu傳遞給xiaoHao.openRadio中battery並進行了消耗,都進行了引用,值都會發生改變。

可變參數
 

package CanShu;
//可變參數
import java.util.Scanner;

class answerSum{
    public int getSum(int ...x){//...表示若干個參數,等等的意思
        int sum=0;
        for(int i=0;i<x.length;i++) {//x.length等於x的個數
            sum = sum + x[i];
        }
        return sum;
    }
}
/*public int deleteSum(int ...x,int y){
         x是參數代表,但最後一個y不是參數代表之一
      }
     */
public class KeBianCanShu {
    public static void main(String[] args) {
        answerSum sum = new answerSum();
        int a,b,c,d;
        Scanner num0 = new Scanner(System.in);
        a = num0.nextInt();
        b = num0.nextInt();
        c = num0.nextInt();
        d = num0.nextInt();
        System.out.println(sum.getSum(a,b,c,d));
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章