黑马程序员技术交流社区

标题: 学习多态的心得 [打印本页]

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

多态的应用:
向上转型,提升为父类,隐藏子类类类型即隐藏子类的特有方法,限制特有功能的使用
向下转型,向下转型必须要判断instanceof之类类类型,是为了使用子类的特有方法
作者: 梦之蓝2015    时间: 2015-3-8 19:29
还没看到这,看不懂 以后向大哥多请教请教
作者: 千殇一梦    时间: 2015-3-8 19:44
今天也重新看了下多态
作者: 白春秋    时间: 2015-3-9 09:08
梦之蓝2015 发表于 2015-3-8 19:29
还没看到这,看不懂 以后向大哥多请教请教

互相帮助学习
作者: cly成子    时间: 2015-3-9 09:45
感觉对于编译时看左,运行时看右,到底是看什么呢?感觉太理论化了,有点绕,,谁可以通俗点解释下!
作者: cishengbuhuan    时间: 2015-3-9 10:09
学习到多态了




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