【发布时间】:2025-11-29 22:50:01
【问题描述】:
下面的代码有什么区别
AbstractClass object = new SubClass();(SubClass是对AbstractClass的扩展类)
子类对象 = new SubClass();
在这两种情况下,子类都扩展了抽象类并实现了抽象类的方法
【问题讨论】:
-
没区别,我发现
-
@HovercraftFullOfEels:这个问题不是在问界面。
-
@Makoto:没错,但概念是一样的。无论如何,这个问题被问得如此频繁,令人惊讶的是,OP 在发布之前没有找到重复项。
-
@Makoto 但是编码到接口的原则对于抽象类是相同的。事实上,你可以用“类型层次结构中最通用的类型”来交换“接口”,不是吗?
-
@Seelenvirtuose:如果 OP 询问“我为什么要...?”,那么是的,这将是一个合适的副本。但是,在使用具体类和抽象类时(尤其是在具体实例实现了其他方法的情况下)存在显着差异。
标签: java polymorphism