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

© wubo46 中级黑马   /  2016-5-20 22:02  /  534 人查看  /  6 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

多态
        多态的前提:1、要有继承
                                2、要有方法重写
                                3、父类引用指向子类对象

多态中访问成员变量
                                        编译看左边,运行看左边
多态中访问成员方法
                                        编译看左边,运行看右边
多态中访问静态方法
                                        编译看左边,运行看左边
                       

多态的好处和弊端
                                好处:提高了代码的扩展性
                                弊端:不能使用子类特有的属性和行为
                                ClassCastException 类型转换异常
                                instanceof 判断前边的引用是否后边的数据类型

抽象类
                abstract 抽象
                用来修饰类,也可以修饰方法
抽象类的子类
                1、要么子类也是抽象的 //没有什么意思的
                2、要么重写抽象父类中抽象方法

抽象类中成员变量
                                可以是常量也可以是变量
                                抽象类中的抽象方法,我们继承之后需要重写抽象方法(重写之后就是一个具体的方法)。

abstract跟哪些关键字不能共存
                                                        static:因为abstract修饰的方法没有方法体,类名点调用没有意思
                                                        final:fianl是不能被继承,也就不能被重写,abstract要求子类必须重写方法,矛盾
                                                        private:abstract要求子类去重写,被private修饰之后子类不能重写了。

接口
                interface的关键字
                格式: interface 接口名 {
                }
                实现接口 implements
                class Test implements 接口名 {
                        //实现接口里的抽象方法,接口里的方法都是抽象的。
                }
                接口可以多实现
接口中的成员变量
                                public static final 全都是常量
接口中的成员方法
                                全都是抽象的,都是公开的

类与类之间的关系
                                单继承,可以多层继承
类与接口之间的关系
                                实现的关系。可以多实现。
接口与接口之间的关系
                                继承关系。可以单继承,可以多继承
                               
抽象类和接口之间的区别
                                        方法:
                                                抽象类中方法可以是非抽象的。
                                                接口中方法都是抽象
                                                抽象类中有构造方法
                                                接口中没有构造方法
                                        变量:
                                                抽象类既可以是常量也可以是变量
                                                接口中都是常量
                                       
                                        设计理念来说,抽象类是“is a”,接口就是“like a”


6 个回复

倒序浏览
    顶一个
回复 使用道具 举报

回顶一下
回复 使用道具 举报
学习下,,,,,
回复 使用道具 举报
好详细啊我们今天也学着这些
回复 使用道具 举报
整理的不错
回复 使用道具 举报
huburt 中级黑马 2016-5-21 11:29:58
7#
顶~~~~~~~~~~~~~~~~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马