java中super关键字的用法

时间:2023-01-10 14:48:13

class Sum {

int n;

float f() {

float sum=0;

for(int i=1;i<=n;i++)

sum=sum+i;

System.out.println(“()=”+n);

return sum;

}

}

class Average extends Sum {

int n;

float f() {

float c;

super.n=n;

c=super.f();

System.out.println(“f()=”+c);

return c/n;

}

float g() {

float c;

c=super.f();

System.out.println(“g()=”+c);

return c/2;

}

}

public class Example5_7 {

public static void main(String args[]) {

Average aver=new Average();

aver.n=100;



   float resultTwo=aver.g();
float resultOne=aver.f(); /*System.out.println("resultTwo="+resultTwo);
System.out.println("resultOne="+resultOne);*/

}

}

输出结果为

()=0

g()=0.0

()=100

f()=5050.0

可见程序先调用了g()函数的情况下,n=0,所以第一次输出为0

第二次调用f()函数,n=100,所以输出为5050.0