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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白春秋 中级黑马   /  2015-3-8 08:45  /  1123 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态调用成员变量,编译和运行时都参看引用型变量所在的类有没有所调用的成员变量,编译运行看等号左边,成员变量的调用所依赖的是引用型变量的引用
多态调用非静态成员函数,编译时看引用性变量所在类中有没有被调用的函数,运行时看实例对象所在类中有没有被调用的函数,即调非静态成员函数时,编译看等号左边,运行看右边。 f.fun()这句话的理解是:调用成员函数的是new Zi()实例对象,而不是引用型变量f(仅仅是一个对象实体的引用地址值),非静态成员函数调用所依赖的是调用它的对象实体,而不是对象实体的引用
和多态时调用成员变量是有区别的
静态成员函数不存在多态问题,静态函数不依赖于对象直接类名调用即可,调用静态函数前创建对象是没有意义的

多态的应用:
向上转型,提升为父类,隐藏子类类类型即隐藏子类的特有方法,限制特有功能的使用
向下转型,向下转型必须要判断instanceof之类类类型,是为了使用子类的特有方法

评分

参与人数 1黑马币 +10 收起 理由
Hiutopie + 10 神马都是浮云

查看全部评分

6 个回复

正序浏览
学习到多态了
回复 使用道具 举报
cly成子 来自手机 中级黑马 2015-3-9 09:45:31
报纸
感觉对于编译时看左,运行时看右,到底是看什么呢?感觉太理论化了,有点绕,,谁可以通俗点解释下!
回复 使用道具 举报
梦之蓝2015 发表于 2015-3-8 19:29
还没看到这,看不懂 以后向大哥多请教请教

互相帮助学习

点评

加你为好友  发表于 2015-3-9 09:50

评分

参与人数 1黑马币 +5 收起 理由
梦之蓝2015 + 5 很给力!

查看全部评分

回复 使用道具 举报
今天也重新看了下多态
回复 使用道具 举报
还没看到这,看不懂 以后向大哥多请教请教
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马