gpt4 book ai didi

Java 分配类值

转载 作者:行者123 更新时间:2023-12-01 19:39:41 26 4
gpt4 key购买 nike

这是一个简单愚蠢的问题,但我不知道,但我自己该如何陈述情况。假设我有一堂这样的课

public class MyClass
{
public int value1;
public void assignValue(int v1)

{
value1=v1;
}
public MyClass(int v1)
{
value1=v1;
}
public void write()
{
System.out.println("value1 :"+value1);
}
}

如果我像这样运行我的程序

public class Program {

public static void main(String args[])
{
//first
MyClass c1 = new MyClass(10);
MyClass c2 = new MyClass(20);
c2 = c1;
c1.assignValue(15);
c1.write();
c2.write();

//but these are classes too.
Integer d1 = 10;//also Integer d1 = new Integer(10); same
Integer d2 = 20;
d2 = d1;
d1 = 15;
System.out.println(d1);
System.out.println(d2);
}
}

为什么 c1 和 c2 的值相等,为什么 d1 和 d2 不相等(我已经从 Integer 类创建了一个对象)?

最佳答案

c2 = c1; // Both are pointing to same object

c1.AssignValue(15); // Value is being updated, not the actual reference.

现在,进入代码的第二部分。

d2 = d1; // Both are pointing to same object

d1 = 15; // Reference object has been updated

但是d2仍然指向旧对象。

关于Java 分配类值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55723154/

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