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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaokun 中级黑马   /  2016-9-22 21:21  /  724 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态感觉好复杂,看视频看的迷迷糊糊的

6 个回复

倒序浏览
1.父类引用,接收子类对象的用法:
(多态的体现:参数是父类类型,接收子类对象,执行时调用子类方法)
在调用方法时体现

                                                        1、父类做参数,接收子类对象
                                                        例: method(Fu f) --> method(apple)
                                                       
                                                        2、子类,作为返回值
                                                        例:public 子类 method(){..return 子类;}
                                                                Fu f = 子类;
                                                       
                                                        3、 // 实际传的是子类对象的地址值
                                                        例: Fu f = new Zi();
                                                       
                                                        4、接口的子类,就是它的实现类
回复 使用道具 举报
多态嘛,字面上的理解就是: 一个对象,有多中形态,比如: 一个学生,它属于 学生 这个类, 同时 也属于 人 这个类,因此人这个类可以作为学生这个类的父类,
创建对象的时候可以:
Person student = new Student(); // 这里Person是Student的父类
上面的例子就是一个 多态的体现
回复 使用道具 举报

        (1)同一个对象,在不同时刻表现出来的不同状态。
               
                       
        (2)前提:
                A:有继承或者实现关系。
                B:有方法的重写。
                C:有父类(接口)的引用指向子类对象。
        (3)多态中的成员使用特点:
                Fu fz = new Zi();
                多态时,所有表现形式都是父类的表现形式,
                只有调用方法时,运行的是子类重写的方法
                A:成员变量
                        编译看左边,运行看左边。
                B:成员方法
                        编译看左边,运行看右边。
回复 使用道具 举报
子类重写父类的方法后,用父类的引用调用方法时,编译时只做排错处理并将源码转化为字节码文件,所以只查看父类有没有这个要调用的方法,有就通过编译。运行时再根据引用指向的对象所属的实际类来决定调用那个类中的方法
回复 使用道具 举报
一样啊,今天学完感觉一脸懵逼
回复 使用道具 举报
一样啊,今天学完感觉一脸懵逼
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马