引用類型參數的傳值
一個類聲明的兩個對象如果具有相同的引用,二者就具有相同的變量。
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));
}
}