4.17 应用举例(略)
//for 循环、static练习
class B {
int n;
static int sum = 0;
void setN(int n) {
this.n = n;
}
int getSum() {
for (int i = 1; i <= n; i++) {
sum = sum + i;
}
return sum;
}
}
public class A {
public static void main(String[] args) {
B b1 = new B();
B b2 = new B();
b1.setN(3);
b2.setN(5);
int s1 = b1.getSum();
int s2 = b2.getSum();
int ssum = s1 + s2;
System.out.println("s1:" + s1 + " s2:" + s2 + " ssum:" + ssum);
}
}
//输结果:s1:6 s2:21 ssum:27
//解析:因为声明sum时,为static(static int sum = 0;)所以,s2=s2+s1,即输出时s2!=15,s2=6+15=21
//实例方法操作类的成员变量可以省略“this”
class B {
int x = 100;
int y = 200;
public int getX() {
return x;
}
public void setX(int x) {
x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getXYSum() {
return x + y;
}
public class A {
public static void main(String[] args) {
B b = new B();
b.setX(-100);
b.setY(-200);
System.out.println(b.getXYSum());
//输出结果:-300