gpt4 book ai didi

java - 这真的是动态多态吗?当我们使用 new 操作符实例化一个类时,编译器可以获得哪些信息?

转载 作者:行者123 更新时间:2023-12-02 08:00:10 25 4
gpt4 key购买 nike

我们通常说,当我们这样做时Set<Stamp> stamps= new HashSet<Stamp>(); stamps.add(new Stamp());它是动态多态性的一个例子。我觉得这很令人困惑,因为当编译代码时,编译器提前知道 stamps引用 HashSet<Stamp> 类型的对象。所以它只知道如何在编译时处理 add 方法。这怎么可能是动态多态性的一个例子呢? 使用 new 运算符和 Class.forName().getInstance() 之间的基本区别在于,在前一种情况下,编译器知道我们尝试实例化的 Class 的类型?

最佳答案

不,它只“知道”stamp 是一个Set。它在构造之后并不知道它是一个HashSet

关于java - 这真的是动态多态吗?当我们使用 new 操作符实例化一个类时,编译器可以获得哪些信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014155/

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