引用类型参数的传值
一个类声明的两个对象如果具有相同的引用,二者就具有相同的变量。
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));
}
}