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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18201432758 中级黑马   /  2015-9-24 21:32  /  765 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态
        前提 1 必须存在继承关系(或者实现接口)
             2  必须出现方法的覆盖,(重写)
             3 必须是 父类的引用指向子类的对象
特点
        成员变量(静态非静态的)都是看左边
        成员方法 非静态的是编译时看左边,运行时看右边(动态绑定)
                  静态的事编译时和运行时都看左边
类型转换
        弊端:无法获取子类特有属性
        解决:向下转型(必须先有向上转型)
        开发时候很少父类的引用指向子类对象,但是当参数的时候使用较多
        这样扩展性强
多态的好处和弊端:
        a:提高了代码的维护性(继承保证)
        b:提高了代码的扩展性(由多态保证)
        可以当做形式参数,接受任意的子类对象。
抽象类
        抽象类不一定有抽象方法
        有抽象方法一定是抽象类 ,或者接口
        abstract:
                    1  不能修饰成员变量
                    2  成员方法可以是抽象的也可以非抽象(abstract)
                        抽象方法必须强制要求重写!
                     3  抽象类中有构造方法的
接口的
        接口的实现类,可以是抽象(意义不大)的也可以是非抽象的。
       
        成员变量:只能是常量,默认修饰符是 public static final 建议手动给出。
       
        构造方法:接口中没有构造方法,
       
        接口与接口之间,可以单继承 也可以多继承


接口与抽象类的区别
        接口类的成员变身必须是常量, 抽象类可以是变量
        接口的成员方法必须全部是抽象的而且被public 修饰,而抽象类的方法可以是抽象的 也可以是非抽象的
        接口没有构造方法 抽象类时又构造方法的
        接口是被实现,抽象类时被继承。
        设计理念
                抽象类is a        是继承体系的共性的内容

                接口 like a        是该继承体系的扩展功能

3 个回复

倒序浏览
感谢楼主的笔记,学习一下
回复 使用道具 举报
总结得很详细!
回复 使用道具 举报
写的很用心,一起加油!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马