A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛晓东 中级黑马   /  2014-5-29 00:14  /  1394 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葛晓东 于 2014-5-29 20:28 编辑

父类引用指向子类, 为什么运行子类重写的方法,为什么变量走父类的?

5 个回复

倒序浏览
你应该问的是多态使用的特点吧
成员变量:编译时,只看引用变量所属的类,即看左边的父类。运行时跟编译时一样。
成员方法:编译时,要查看引用变量所属的类中是否有所调用的成员,即看左边的父类,而运行时要查看对象所属的类中是否有所调用的成员,看右边的子类,即你所说的运行子类重写。
回复 使用道具 举报
继承后,子类父类,成员方法特点,非常重要的环节
当子类,父类出现了一模一样的方法时,现象称为子类重写父类的方法
         重写,叫覆盖,复写 override
A. 成员变量:
      子类和父类中出现了同名的成员变量
          如何访问父类和子类的呢
          访问父类,super.父类的成员变量
          访问自己,this.自己的成员变量
          
          如果成员变量静态修饰 不要考虑super  不要考虑this
      直接类名调用       
      成员变量,是没有覆盖的概念的
      父类中所有的非静态成员变量,建立子类对象的时候,跟随子类对象在堆中存储
      打上super标记

  B. 成员方法 ExtendsDemo5.java
      子类继承父类后,出现了一模一样的方法
      子类重写父类方法,目的为了扩展
      保证子类方法权限大于或者等于父类方法权限
      静态方法,覆盖静态,非静态覆盖非静态
             

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
子类需要重写父类的东西
回复 使用道具 举报
貌似有个编译看左边,运行看右边的视频,你再找找看,说的更详细点
回复 使用道具 举报
三楼的兄弟已经答得很详细了,懂了就把帖子改成结束提问把
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马