在java中的多态性概念

时间:2016-02-20 19:22:47

标签: java polymorphism

以下代码有什么区别

  1. AbstractClass object = new SubClass();(SubClass是一个扩展AbstractClass的类)

  2. SubClass object = new SubClass();

  3. 在两个场景中,子类扩展了Abstract Class并实现了Abstract Class

    的方法

1 个答案:

答案 0 :(得分:1)

第一个是首选:你要声明一个更通用类型的变量,如果需要,你可以多态将它替换为另一个对象实例,只要它也从相同的抽象类。

在GoF书中,他们将此原则称为“程序到接口,而不是实现”(技术上AbstractClass不是接口,它是一个抽象类,但同样的原则适用。)