gpt4 book ai didi

java - Java 中的动态绑定(bind)。使用 Parent 作为类型和 Child 作为对象有什么好处和缺点?

转载 作者:行者123 更新时间:2023-11-29 05:08:07 25 4
gpt4 key购买 nike

我已经阅读了几篇有关 Java 中的静态和动态绑定(bind)技术的文章。

我的问题是

之间的实际区别是什么
Parent a = new Parent();

Parent a = new Child();

?

最佳答案

如果您不想要 Child 对象,那么第二种方法就没有意义。

第二种方法仅在您需要子对象但可以灵活地将 Child 对象替换为 Child2 或其他一些 Child 对象的情况下才有意义它在稍后的时间点透明地扩展了 Parent 对象。

ListArrayListLinkedList 是最常用的示例之一。如果您想返回 List 对象类型,但可以在您的实现中灵活地将 ArrayList 替换为 LinkedList(或)将 LinkedList 替换为 ArrayList,那么您可以编写如下代码:

List someRefer = new ArrayList();

在某些时候,如果您的实现需要对 List 进行大量插入/删除,然后您意识到 LinkedList 是这种情况下的最佳数据结构,那么您可以灵活地将代码更改为:

List someRefer = new LinkedList();

关于java - Java 中的动态绑定(bind)。使用 Parent 作为类型和 Child 作为对象有什么好处和缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com