我在写练习题的时候遇到一个子类方法重写的问题
class Sub extends Base {
int m = super.getX();
int n = super.getY();
public int sum(){
System.out.println( m + n);
return m + n;
}
public int avg(){
return (m + n)/2;
}
在这里父类Base里的x和y都有值,是私有的,但是我想把这两个值赋给m和n,执行出来结果m和n都是0,所以下边计算sum和avg的结果都是0.但如果我不赋值直接把getset方法写在return里,结果就正常,就像下边这样
class Sub extends Base {
public int sum(){
return super.getX() + super.getY();
}
public int avg(){
return (super.getX() + super.getY()) / 2;
}