gpt4 book ai didi

java - 类的实例

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

我真的不确定这段代码中发生了什么。基本上,在当前状态下,代码输出 0,但我期望输出为 20。当我使用当前被注释掉的 OR 的其他部分时,我只会得到 20:

class Sum {
int x, y;

void setSum(int value1, int value2) {
x = value1;
y = value2;
}

int getSum() {
return x + y;
}
}

public class JavaBasics {
public static void main(String[] args) {
// Sum newSum = new Sum();
// newSum.setsum(10, 10); // 10 , 10 are the arguments
//
// OR
new Sum().setsum(10, 10);

System.out.println(new Sum().getSum());

// OR
// System.out.println(newSum.getSum());
}
}

最佳答案

每次使用 new Sum() 时,您都会创建两个不同的 Sum 实例,它们都有自己的状态。

由于您没有构造函数,因此使用隐式默认构造函数,在构造对象时将 x 和 y 设置为零。

通过将其存储到变量 Sum newSum,您将创建一个 Sum,设置其 x 和 y,然后读回相同 总和

您可以声明部分或全部字段 static使它们的值可以在所有实例之间访问或共享。您同样可以创建一个无需类实例即可调用的静态方法(例如,ClassName.staticMethod(foo, bar))。当然,由于没有实例,所以无法直接访问非静态字段。

关于java - 类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30891418/

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