我为什么这个输出结果是0呢?

img

构造函数的赋值语句写反了。

public box(double l,double w,double h){
  length = l;
  width = w;
  height = h;
}

你的构造方法不对,没有给属性初始化值。
需要赋值的变量在左边。

8、9、10行修改如下:

length = l;
width = w;
height = h;

8、9、10行赋值写反了啊
颠倒一下
length = l;
width = w;
height = h;