Java:返回字段的前一个值

时间:2016-10-15 09:17:23

标签: java class methods return

我开始学习java,我有一点问题:

我有一个班级Point

public class Point {
    int x;
    int y;

    void setX(Point point){
    x=point.x;
    }
    void setY(Point point){
    y=point.y;
    }
}

现在我有一项任务:

"更改方法setX()setY()这些方法会返回先前的xy值。 "

你能帮我理解这个任务吗?完全不明白。

1 个答案:

答案 0 :(得分:4)

您必须从void更改为int返回类型,然后在设置后将旧值存储为返回值。像,

int setX(Point point) {
    int old = this.x;
    this.x = point.x;
    return old;
}

int setY(Point point) {
    int old = this.y;
    this.y = point.y;
    return old;
}

可能finally块中执行分配,并返回try中的值

int setX(Point point) {
    try {
        return this.x;
    } finally {
        this.x = point.x;
    }
}
相关问题