weixin_47092701
2021-12-13 11:33
采纳率: 100%
浏览 38

请问大家,java中super的父类变量不可以赋值给子类自己的变量吗?

我在写练习题的时候遇到一个子类方法重写的问题
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;
}
我知道下边这种更好,但不明白我上边写的为什么m和n赋值不了呢,烦请大家给我解答一下。
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题