gpt4 book ai didi

java - 与java对象的混淆

转载 作者:行者123 更新时间:2023-12-01 16:51:43 25 4
gpt4 key购买 nike

我是 java 初学者,目前正在使用 Netbeans IDE,但我在这里有一些困惑。我写下了以下代码:

public class Try {

public static int AA;
public static int BB;

Try(int a, int b)
{
AA=a;
BB=b;
}

int calculate()
{
int c;
c=Try.AA + Try.BB;
System.out.println(c);
return 0;
}

public static void main(String[] args) {
Try a = new Try(1,2);
Try b = new Try(2,3);
a.calculate();
b.calculate();
// TODO code application logic here
}
}

嗯,只是一个简单的程序,将两个整数相加,这是输出:

5
5

我早就料到会是这样

3
5

那么,我哪里出错了? Here is the screenshot

最佳答案

AABB静态,这意味着它们属于,而不是每个实例。本质上,这两个变量在 Try 的所有实例之间共享。当您实例化第二个 Try 对象时,原来的两个值被覆盖。

将两个变量设置为非静态将得到您期望的计算结果。

关于java - 与java对象的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956591/

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