黑马程序员技术交流社区

标题: 多态的前提是什么?为什么,想不通啊 [打印本页]

作者: 江月念华    时间: 2016-9-24 23:58
标题: 多态的前提是什么?为什么,想不通啊
多态的前提是什么?为什么,想不通啊
作者: 郑大仙丶    时间: 2016-9-25 00:04
继承,和重写啊....

多态是父类的引用指向子类的对象.

没继承哪来的父类和子类啊- -

多态很重要 多看看笔记,自己敲敲代码..
作者: 菜鸟V    时间: 2016-9-25 00:11
有继承或者实现接口,重写,这样程序才能更具有可扩展性,代码复用性
作者: haoge349    时间: 2016-9-25 00:32
多看看 你可以的,这个必须搞懂,后面用的很多
作者: 边_城    时间: 2016-9-25 00:34
感觉有灌水的嫌疑

作者: zhaokun    时间: 2016-9-25 00:36
:多态前提
        * a:要有继承关系。
        * b:要有方法重写。
        * c:要有父类引用指向子类对象。
作者: 读书可以当饭吃    时间: 2016-9-25 10:49
子类重写父类的非静态方法
作者: 飞舞的指尖    时间: 2016-9-25 11:18
多态:   父类引用指向子类对象.           

     前提:有普通(抽象)父子关系或接口实现类关系.
               若父类是普通类(里面没有抽象的方法)子类可以重写(或者)直接继承父类的方法,另外可以再添加自己一些特有的属性或方法,使用多态调用子类中特有的方法,需要进行向下转型才可以使用.
               若父类中有抽象的类,那么子类中必须重写子类中的抽象方法(抽象的类不能new对象),重写完后也可以添加一些子类中特有的方法,调用时同普通类方法一样,需向下转型后才可调用.
              (多态需要new 对象,在 = 左边是父类或接口,  =  右边为子类) 同一个父类的方法,会被不同的子类调用,在调用方法时,调用的为各个子类重写后的方法.

             多态的调用规则:      
                     变量: 无论编译还是运行都看左边(父类);
                     方法: 分两种情况(1)非静态,编译看父类,运行看子类,父类没有编译则失败;
                                               (2)用static修饰的方法,编译运行都看父类,因为静态和对象没有关系,属于静态绑定.
作者: 爱你一万年    时间: 2016-9-25 16:18
要有继承或实现关系,只有有了关系,才能触发多态
作者: 叫我宁采臣    时间: 2016-9-27 09:52
必须继承或者实现接口,必须重写,父类引用指向子类对象




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