gpt4 book ai didi

java - 为什么下面的代码没有为变量创建一个新值?

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

class Cube{
int side;
int area = side * side;
}

public class Chronos{
public static void main(String[]args) {
Cube a = new Cube();
a.side = 2;
System.out.println(a.area);
}
}

我的问题是为什么它输出“0”而不是乘以给定的变量a.side=2 本身并给出 a.area=4。我的思考过程是它会看到打印 a.area 的命令,用 Cube 检查并看到它应该乘以 a.side , 这已经由它自己决定了。

最佳答案

因为

int area=side*side 

当你初始化一个立方体对象时发生,所以它被设置为,如 0*0 = 0;

要更改此设置,您必须创建一个方法,即 setSide 或 getArea,并在那里进行计算。即(根本不需要使用区域变量)

public int getArea(){
return side*side;
}

关于java - 为什么下面的代码没有为变量创建一个新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077378/

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