黑马程序员技术交流社区

标题: 继承小问 [打印本页]

作者: 葛晓东    时间: 2014-5-29 00:14
标题: 继承小问
本帖最后由 葛晓东 于 2014-5-29 20:28 编辑

父类引用指向子类, 为什么运行子类重写的方法,为什么变量走父类的?
作者: 孟祥钰    时间: 2014-5-29 00:21
你应该问的是多态使用的特点吧
成员变量:编译时,只看引用变量所属的类,即看左边的父类。运行时跟编译时一样。
成员方法:编译时,要查看引用变量所属的类中是否有所调用的成员,即看左边的父类,而运行时要查看对象所属的类中是否有所调用的成员,看右边的子类,即你所说的运行子类重写。
作者: yang1352546    时间: 2014-5-29 00:21
继承后,子类父类,成员方法特点,非常重要的环节
当子类,父类出现了一模一样的方法时,现象称为子类重写父类的方法
         重写,叫覆盖,复写 override
A. 成员变量:
      子类和父类中出现了同名的成员变量
          如何访问父类和子类的呢
          访问父类,super.父类的成员变量
          访问自己,this.自己的成员变量
          
          如果成员变量静态修饰 不要考虑super  不要考虑this
      直接类名调用       
      成员变量,是没有覆盖的概念的
      父类中所有的非静态成员变量,建立子类对象的时候,跟随子类对象在堆中存储
      打上super标记

  B. 成员方法 ExtendsDemo5.java
      子类继承父类后,出现了一模一样的方法
      子类重写父类方法,目的为了扩展
      保证子类方法权限大于或者等于父类方法权限
      静态方法,覆盖静态,非静态覆盖非静态
             
作者: lin'    时间: 2014-5-29 08:45
子类需要重写父类的东西
作者: Blüe-wǒlf    时间: 2014-5-29 09:05
貌似有个编译看左边,运行看右边的视频,你再找找看,说的更详细点
作者: EDDY_Liang    时间: 2014-5-29 09:33
三楼的兄弟已经答得很详细了,懂了就把帖子改成结束提问把




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2