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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© THE_FUTURE 中级黑马   /  2014-9-27 09:40  /  755 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:多态(掌握)
        (1)同一个对象在不同时刻表现出来的不同状态。
                另外的表达方式:针对同一个对象,编译期类型和运行期类型不一致。
                举例:
                        狗(狗是狗,狗是动物)
                        水(水,水蒸气,冰)
        (2)前提:
                A:有继承或者实现关系。
                B:有方法重写。
                C:有父类或者父接口引用指向子类对象。
        (3)好处和弊端:
                A:好处
                        扩展性和维护性(是由继承保证)。
                B:弊端
                        不能使用子类的特有功能。
        (4)向上转型和向下转型
                A:向上转型
                        把子类对象赋值给父类或者父接口引用
                B:向下转型
                        把父类或者父接口引用强制转换为子类
        (5)多态中的使用成员特点
                A:成员变量
                        编译运行都看左边
                B:成员方法
                        编译看左边,运行看右边。

                举例:Gosling儿子装爹。
        (6)多态的体现形式
                A:具体类多态(几乎不用)
                B:抽象类多态
                C:接口多态

2:抽象类(掌握)
        (1)多个具体的事物具备相同的方法声明,而方法体不同,我们就只抽取方法声明,然后定义到一个类中。
           而一个没有方法体的方法是一个抽象方法,一个类中有抽象方法,该类必须定义为抽象类。
        (2)抽象类的特点:
                A:抽象类或者抽象方法用abstract修饰。
                B:抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。
                C:抽象类不能被实例化。
                D:子类继承抽象类,要么是抽象类,要么重写所有父类抽象方法。
        (3)抽象类的几个小问题
                A:不能被实例化,要构造方法干啥?
                B:一个类中没有抽象方法,居然定义抽象类,有什么意义?
                C:抽象关键字不能和哪些关键字共存
                        a:private
                        b:final
                        c:static
        (4)抽象类的成员:
                A:成员变量 有变量,也有常量
                B:构造方法 有构造方法,用于子类访问父类数据的初始化
                C:成员方法 有抽象方法,也有非抽象的方法
        (5)抽象类的案例
                A:老师案例
                B:学生案例
                C:员工案例

3:接口(掌握)
        (1)当一个抽象类中的方法都是抽象的时候,java就提供了一种更抽象的表达方式,叫接口。
        (2)接口的成员特点:
                A:成员变量 是常量 默认修饰符 public static final
                B:成员方法 抽象方法 默认修饰符 public abstract
        (3)接口的特点:
                A:接口用interface定义
                B:子类实现接口用implements标识
                C:接口不能被实例化
                D:子类实现接口的时候,要么是抽象类,要么全部实现接口方法
        (4)接口和类的关系
                A:类与类的关系
                        继承关系,只能单继承,可以多层继承。
                B:类与接口的关系
                        实现关系,可以单实现,也可以多实现。
                        还可以在继承一个类的同时,实现多个接口。
                C:接口与接口的关系
                        继承关系,可以单继承,也可以多继承。
        (5)接口的思想特点(理解)
                A:对外暴露的规则(USB接口)
                B:程序的扩展功能(多态)
                C:降低程序的耦合性(多态)
                D:让类可以多实现
        (6)接口和抽象类的区别
                共性:都是不断抽取出来的抽象的内容。

                A:成员特点
                        抽象类:
                                成员变量 可以变量,也可以常量
                                成员方法 可以抽象,也可以非抽象
                                构造方法 有
                        接口:
                                成员变量 只能是常量
                                成员方法 只能是抽象
                                构造方法 无
                B:继承或者实现关系特点
                        a:类与类的关系
                                继承关系,只能单继承,可以多层继承。
                        b:类与接口的关系
                                实现关系,可以单实现,也可以多实现。
                                还可以在继承一个类的同时,实现多个接口。
                        c:接口与接口的关系
                                继承关系,可以单继承,也可以多继承。
                C:设计区别
                        抽象类中定义的是体系的共性内容。表达的是:is a的关系。
                        接口中定义的是体系的扩展功能。表达的是:like a的关系。

                案例:运动员和教练案例。
        (7)如何实现一个继承体系
                分析:由具体到抽象
                实现:由抽象到具体

                学习:抽象的内容,因为它定义的是共性内容。

0 个回复

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