【发布时间】:2022-12-11 22:36:45
【问题描述】:
说明是
如果构造函数的方向参数等于 Direction.UP,则 Bullet 类的构造函数必须将 dy 字段初始化为 -1。
如果构造函数的方向参数不等于 Direction.UP,则 Bullet 类的构造函数必须将 dy 字段初始化为 1。
我的解决方案是
public Bullet(double x, double y, Direction direction) {
super(x, y);
setMatrix(ShapeMatrix.BULLET);
if (Direction direction == Direction.UP) {
dy = -1;
} else {
dy = 1;
}
但正确的解决方案是
public Bullet(double x, double y, Direction direction) {
super(x, y);
setMatrix(ShapeMatrix.BULLET);
this.dy = direction == Direction.UP ? -1 : 1;
}
有人可以向我解释为什么吗?
【问题讨论】:
标签: java constructor