java的三大特征多态

Java多态理解

    Java中引用类型变量有两个类型:编译时类型和运行时类型。编译时类型声明该变量使用的类型决定
运行时类型有实际赋给的对象决定,如果编译时类型和运行时类型不一致,这就多态。
Java中多态可以分为两类:

    1.方法的多态(重载、重写)

        重载:静态多态(编译时的多态)
        重写:动态多态(运行时的多态)


    2.对象的多态

        向上转型:子类对象
        向下转型:父类对象(向下转型前,一定要先完成一次向上转型)

掌握两种形式的多态:

    1.方法的重载、重写

        重载:在同一个类中,多个方法名相同,参数列表不同(个数、类型、顺序),这就是重载。

java的三大特征多态

        重写:(覆写,覆盖) 方法重写值得是在继承中,如果父类中某个方法不能满足子类的需求,子类可以重写父类的这个方法,这就是方法重写。java的三大特征多态

    2.对象的多态

        向上转型: 子类对象----》父类对象

            类似于基本数据类型的自动类型转换

java的三大特征多态

         说明:
        对象f表面上看是Father类对象,但是运行时调用say()实际是Son类的。
        所以f对象编译时类型是Father,运行时类型是Son。这就是多态。


        向下转型: 父类对象----》子类对象(向下转型前,一定要先完成一次向上转型)

            类似于基本数据类型的强制类型转换:

java的三大特征多态java的三大特征多态

多态优点

    1. 消除类型之间的耦合关系
    2. 可替换性
    3. 可扩充性
    4. 接口性
    5. 灵活性
    6. 简化性
    

实现条件

    Java实现多态有三个必要条件:继承、重写、向上转型

实现形式

    在Java中有两种形式可以实现多态。继承、接口。