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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态的前提是什么?为什么,想不通啊

9 个回复

倒序浏览
继承,和重写啊....

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

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

多态很重要 多看看笔记,自己敲敲代码..
回复 使用道具 举报
有继承或者实现接口,重写,这样程序才能更具有可扩展性,代码复用性
回复 使用道具 举报
多看看 你可以的,这个必须搞懂,后面用的很多
回复 使用道具 举报
回复 使用道具 举报
:多态前提
        * a:要有继承关系。
        * b:要有方法重写。
        * c:要有父类引用指向子类对象。
回复 使用道具 举报
子类重写父类的非静态方法
回复 使用道具 举报
多态:   父类引用指向子类对象.           

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

             多态的调用规则:      
                     变量: 无论编译还是运行都看左边(父类);
                     方法: 分两种情况(1)非静态,编译看父类,运行看子类,父类没有编译则失败;
                                               (2)用static修饰的方法,编译运行都看父类,因为静态和对象没有关系,属于静态绑定.
回复 使用道具 举报
要有继承或实现关系,只有有了关系,才能触发多态
回复 使用道具 举报
必须继承或者实现接口,必须重写,父类引用指向子类对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马