java第9天

1:final关健字(掌握)
    (1)是最終的意思,可以修饰类,方法,变量。
    (2)持点
        A:它修饰的类,不能被继承
        B:它修饰的方法,不能披重写
        C:它修饰的变量,是一个常量
    (3)面式相关
        A:局部变量
            a:基本类型   值不能发生改变改変
            b:引用类型   地址值不能发生改変,但是对象的内容是可以改交的
        B:朷始化时机
            a只初朷始化一次,
            b:构造方法中

2:多态(掌握)
    (1)同一个対象在不同时刻体現出来的不同状志。
    (2)多态的前提:
        A:有継承或者实现关系
        B:有方法重写
        c:有父类或者父接ロ引用指向子类対象
    (3)多态的分类;
        a:具体类多态
            class Fu {}
            class Zi extends Fu {}

            Fu f= new zi();
        b:抽象类多态
            abstract class Fu {}
            clas Zi extenda Fu {}

            Fu f = new Zi();
        c:接口多态
            interface Fu {}
            class Zi implements Fu {}

            Fu f= new zi();
            
    3)多态中的成员访问特点
        A:成员变量
            编译看左边, 运行看左边
        B:构造方法
            子类的构造都会默认访问父类构造
        C:成员方法
            编译看左边,运行看右边
        D:静态方法
            编译看左边,运行看左边

        为什么?
            因为成员方法有重写。
    (4)多态的好处:
        A:提高代码的维护性(继承体现)
        B:提高代码的扩展性(多态体现)
    (5)多态的弊端:
        父不能使用子的特有功能。

        现象:
        子可以当作父使用, 父不能当作子使用。 
    (6)多态中的转型
        A:向上转型
            从子到父
        B:向下转型
            从父到子
    (7)孔子装米的案例帮助大家理解多态
    (8)多态的练习
        A:猫狗案例
        B:老师和学生案例

3:抽象类(掌握)
    (1)把多个共性的东西提取到一个类中,这是继承的做法。
        但是呢,这多个共性的东西,在有些时候,方法声明一样,方法体不同。
        也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样。
        所以,我们定义这些共性的方法的时候, 就不能给出具体的方法体。
        而一个没有具体的方法体的方法是抽象的方法。
        在一个类中如果有抽象方法。该类必须定义为抽象类。
    (2)抽象类的特点
        A:抽象类和抽象方法必须用关键字 abatract條饰
        B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
        C:抽象类不能实例化
        D:抽象类的子类
            a:是一个抽象类.
            b:是一个具体类,这个类必须重写抽象类中的所有抽象方法。
    (3)抽象类的成员特点:
        A:成员变量
            有变量,有常量
        B:构造方法
            有构造方法
        C:成员方法
            有抽象,有非抽象
    (4)抽象类的练习
        A:猫狗案例练习
        B:老师案例练习
        C:学生案例练习
        D:员工案例练习
    (5)抽象类的几个小问题
        A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
            用于子类访问父类数据的初始化
        B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
            为了不让创建对象
        C:abstract不能和哪些关键字共在
            a:final冲突b:private冲突c:static无意义
4:接口(掌握)
    (1)回顾猫狗案例,它们仅仅提供一些基本功能.
        比如:猫钻火圈,狗跳高等功能,不是动物本身就具备的,
        是在后面的培养中训练出来的,这种额外的功能,java提供了接口表示。
    (2)接口的特点:
        A:接口用关键字interface修饰
            interface 接口名
        B:类实现接口用implements條饰
            class 类名implements接口名{}
        C:接口不能实例化
        D:接口的实现类
            a:是一个抽象类,
            b;是一个具体类,这个类必须重写接口中的所有抽象方法。
    (3)接口的成员特点:
        A:成员变量
            只能是常量
        B:构造方法默认修饰符: public static final
            没有构造方法
        C:成员方法
            只能是抽象的
            默认修饰符: pubiic abstract

    (4)类与类,类与接口,接口与接口
        A:类与类
            继承关系, 只能单继承,可以多层继承
        B:类与接口
            实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时,实现多个接口
        C:接口与接口
            继承关系,可以单继承,也可以多继承
    (5)抽象类和接口的区别(自己补齐) ?
        A:成员区别
            抽象类:
            接口:
        B:关系区别:
            类与类:
            类与接口:
            接口与接口:
        C:设计理念不同
            抽象类: is a,抽象类中定义的是共性功能。
            接口: like a.接口中定义的是扩展功能。

    (6)练习:
        A:猫狗案例,加入跳高功能
        B:老师和学生案例、加入抽烟功能

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值