Java:返回字段的上一个值

K.D*_*ien 2 java methods return class

我开始学习Java,但有一个小问题:

我有一堂课Point

public class Point {
    int x;
    int y;

    void setX(Point point){
    x=point.x;
    }
    void setY(Point point){
    y=point.y;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个任务:

“改变方法setX()以及setY()这些方法返回的先前值xy。”

您可以帮助我了解此任务吗?完全不明白。

Ell*_*sch 5

您必须将更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;
}
Run Code Online (Sandbox Code Playgroud)

或者可以在一个finally块中执行赋值,然后以try类似的形式返回值

int setX(Point point) {
    try {
        return this.x;
    } finally {
        this.x = point.x;
    }
}
Run Code Online (Sandbox Code Playgroud)