gpt4 book ai didi

java - 对象引用声明和对象构造之间的区别?

转载 作者:行者123 更新时间:2023-12-04 21:28:27 25 4
gpt4 key购买 nike

考虑一个名为 Calculator 的类,代码如下:

class Calc extends Calculator {

Calculator calculator; // [Style 1]

Calculator calculator = new Calculator(); // [Style 2]
}

据我所知,[1] 中没有分配内存,但是在语句 [2] 中创建了一个新的 Calculator 对象.

除此之外还有其他区别吗?

最佳答案

当你写作时

Calculator calculator;

这仅表示您要声明对Calculator 类型对象的引用。引用不是对象,因此未分配内存。

当你写作时

new Calculator();

它构造Calculator 类型的对象并返回对该对象的引用。

所以,当你写的时候

Calculator calculator = new Calculator();

这意味着您构造对象并将对它的引用存储在calculator中。

'calculator' 不是对象,它只是对此对象的引用。您可以对同一对象有 1 个以上的引用。

更新:关于本题的题目,创建类的实例创建对象完全一样。我相信你的意思是,声明对对象的引用 vs 用就地赋值声明它(虽然我不太确定术语):-)

关于java - 对象引用声明和对象构造之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106742/

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