gpt4 book ai didi

java - 使用 new 初始化变量,然后进行赋值和在初始化时仅赋值之间有区别吗?

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

我正在努力学习Java。

我有一个自定义类,它具有属性:

public class Person{
private String name;
}

我还有另一门课,我在那里:

public class foo{
private Person guy;

public void setGuy(Person guy){
this.guy = guy;
}

public Person getGuy(){
return guy;
}

void someMethod(){
Person anotherGuy = new Person();
anotherGuy = getGuy();
}
}

当我使用getGuy()方法时我很困惑。我认为当我这样做时:

Person anotherGuy = new Person();
anotherGuy = getGuy();

我创建了一个新对象,它与 Guy 具有相同的值。但看起来 anotherGuy 实际上是一个指向 Guy 的指针。所以

Person anotherGuy = getGuy();

和上面两行,做的事情完全一样吗?我很困惑。那么如何在内存中创建一个全新的对象呢?

最佳答案

So

Person anotherGuy = getGuy();

and the above 2 lines, do the exact same thing?

不,另一个版本首先创建一个新的 Person() 对象,然后丢弃它(这只是浪费内存和处理器周期)。

关于java - 使用 new 初始化变量,然后进行赋值和在初始化时仅赋值之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531459/

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