我运行了以下代码:
public class Box {
private int length = 1;
private int width = 2;
private int height = 3;
Box(int l, int w, int h) {
length = l;
width = w;
height = h;
}
double volume() {
return length * width * height;
}
}
public class DemoBox {
public static void main(String[] args) {
Box box1 = new Box(3, 3, 3);
System.out.println("Volumne: " +box1.volume());
}
}
我一直认为如果没有 getter/setter,我将无法修改私有变量的值。但在上面的代码中,我能够将值传递给私有变量,结果体积为 27 (3*3*3)。这是预期的行为吗?请解释我对私有变量以及getter/setter的理解中缺少的地方