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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 读书少,表骗我 中级黑马   /  2016-6-1 21:39  /  347 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态
        (1)同一个对象,在不同时刻表现出来的不同状态。
                举例:水(水,冰,水蒸气)
                      猫(猫,动物)
                       
        (2)前提:
                A:有继承或者实现关系。
                B:有方法的重写。
                C:有父类(接口)的引用指向子类对象。
        (3)多态中的成员使用特点:
       
                A:成员变量
                        编译看左边,运行看左边。
                B:成员方法
                        编译看左边,运行看右边。

                 class Fu {
                        int num=4;
                        void show() {
                                System.out.println("showFu");
                        }
                }
                class Zi extends Fu {
                        int num=5;
                        void show() {
                                System.out.println("showZi");
                        }
                }
                class T {
                        public static void main(String[] args) {
                                Fu f=new Zi();
                                System.out.println(f.num);  
                                f.show();       
                               
                        }

        (4)多态中的转型:
                A:向上转型
                        把子类对象赋值给父类(接口)的引用
                B:向下转型
                        把父类(接口)的引用强制转换成子类对象
        (5)多态的好处及弊端:
                A:好处
                        提高了程序可维护下和可扩展性。
                        开闭原则:对扩展开放,对修改关闭。
                B:弊端
                        不能使用子类特有内容。
                        要想使用,要么向下转型,要么重新创建子类对象。
        (6)多态的三种形式:
                A:具体的类多态
                B:抽象类多态
                C:接口多态

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马