爱玩的2b小孩 2019-12-09 16:29 采纳率: 0%
浏览 271

java中,sub类继承自super类的成员变量赋值后,为什么输出this和super都是子类的该变量值

初学java,学到继承时乱敲代码时想到这样一个问题,先放代码

class A{
    public int a;
}
class B extends A{
    public void b(){
        a=5;
        System.out.println(this.a);
        System.out.println(super.a);
    }
}
class C{
    public static void main(String[] args){
        B b=new B();
        b.b();
    }
}

最后输出结果为5,5。作为一个初学者,没有太搞懂这其中的关系,this指向当前对象,super指向超类,那么a=5这一步后不应该是this.a=5,super.a=0吗?

希望各位指点一下。

  • 写回答

3条回答 默认 最新

  • zxf-nobug 2019-12-09 17:40
    关注

    你加了extends 吗
    class B extends A{
    public void b(){
    a=5;
    System.out.println(this.a);
    System.out.println(super.a);
    }
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题