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));
    }

}

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