gpt4 book ai didi

java - 了解变量如何指向 Java 中的值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:57 26 4
gpt4 key购买 nike

我有下面的代码。变量 cd 是类变量,最初它们指向值 0,但是当我执行 c=a* a;d =b* b*b 他们将值打印为 25 和 64,这是正确的。所以我现在认为 cd 现在指向值 25 和 64,它们是类变量,所以如果我这样做 j=c+ d; 它应该给我 89 作为 j 值,但它给了我 0... 为什么?我知道如果我将 staticcd 变量一起使用,它会给我 89 个值...但为什么我应该使用 static 因为 cd 是全局变量,它们的值现在已更新为 25 和 64。请告诉我。谢谢。

public class BaiscSum {

int a=5;
int b=4;
int c;
int d;
int j;

public void square() {
c=a*a;
System.out.println(c);
}

public void cube() {
d=b*b*b;
System.out.println(d);
}

public void sum() {
j=c+d;
System.out.println(j);
}

public static void main(String[] args) {
BaiscSum squ= new BaiscSum();
squ.square();

BaiscSum cub = new BaiscSum();
cub.cube();

BaiscSum su = new BaiscSum();
su.sum();
}
}

最佳答案

您正在使用类的三个独立实例。这意味着 squcubsu 都有自己的类版本。相反,使用同一个实例,这样所有更改都将发生在同一个实例上。

public static void main(String[] args) {
BaiscSum sum= new BaiscSum();
sum.square();
sum.cube();
sum.sum();
}

关于java - 了解变量如何指向 Java 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593267/

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