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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© icichacici 中级黑马   /  2015-7-15 19:36  /  350 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。
2、 在多态中,静态成员函数的特点:
无论编译和运行,都参考左边。

请问这句话怎么理解呢?有点不太明白。

7 个回复

倒序浏览
在多态中,成员变量是不变的,无论是编译还是运行,都是看左边。成员方法是编译看左边,运行看右边。你用视频或者书上的具体的代码去理解,那样更容易明白。
回复 使用道具 举报
1、成员变量
          编译看左边,运行看左边。//就是因为变量不存在重写(掌握)
          Fu fu  = new Zi();
          System.out.println(fu.name);//调用的是父类的name属性
     2、非静态成员方法
          编译看左边,运行看右边。//因为方法存在重写(掌握)
          Fu fu = new Zi();
          fu.show();//调用的是子类的show()
     
     3、产生以上现象的原因(掌握)
          因为方法有重写,变量没有

     总结一句话:方法运行看右边

回复 使用道具 举报
慢慢学习吧,不急
回复 使用道具 举报
写的不错,顶一个
回复 使用道具 举报
同求,我看视频也没怎么看明白!
回复 使用道具 举报
小p 中级黑马 2015-7-15 23:21:32
7#
还在学习中。。。
回复 使用道具 举报
多态 也不是很了解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马