1. 类名作为形参和返回值2. 抽象类作为形参和返回值3. 接口作为形参和返回值 1. 类名作为形参和返回值形参为类名时 则需要传递一个实例化的对象 返回值为类名时 则return一个实例化的对象 2. 抽象类作为形参和返回值抽象类需要用多态形式创建对象 才能传参 返回值一致 3. 接口作为形参和返回值需要重写接口的方法 并以多态形式 传参 返回值一致