gpt4 book ai didi

java - 对象占位符?

转载 作者:行者123 更新时间:2023-12-02 02:49:11 33 4
gpt4 key购买 nike

假设我制作了对象

Location house, home;

我希望有一个占位符

placeholder = house;

placeholder = home;

我该怎么做?我尝试了 Location placeholder; 但在测试之后我推断你不能将两个对象设置为彼此相等。我需要占位符对象,以便我可以将相同类型的不同对象插入到方法中。

最佳答案

假设您有一个最小的类(class):

Class Foo {
public int x;
public Foo(int x) {
this.x = x;
}
}

您创建了两个实例:

Foo foo1 = new Foo(1);
Foo foo2 = new Foo(2);

第三个,“占位符”

Foo placeholder = foo1;

现在,如果您通过 placeholder 变量更改了任何内容,它也会反射(reflect)在 foo1 变量中。这是因为Java是通过地址引用的。含义:

foo1.x = 9;
// placeholder.x is now 9
placeholder.x = 99;
// foo1.x is now 99

最后,如果您要更改 placeholder 所指的实例,您可以执行此操作,并且任何新更改现在都会应用到其他实例。

placeholder = foo2;
placeholder.x = 0;
// foo2.x is now 0
// foo1.x is still 99 from the previous code segment

关于java - 对象占位符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44090501/

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