一、抽象类名作为形参和返回值。
    1、方法的形参是抽象类名,其实需要的是该抽象类的子类对象
    2、方法的返回值是抽象类名,其实返回的是该抽象类的子类对象

    二、接口名作为形参和返回值。
    1、方法的形参是接口名,其实需要的是该接口的子类对象
    2、方法的返回值是接口名,其实返回的是该接口的子类对象