添加重载的构造函数和两个方法(Java)

时间:2018-08-11 06:16:55

标签: java class constructor

所以我想实现MyPoint类,该类使用x和y坐标对2D点进行建模。

它需要包含以下要求:

  • 两个公共实例变量:x(int类型)和y(int类型)。
  • toString()方法,以“(x,y)”格式返回实例的字符串描述。
  • 默认(或“无参数”或“无参数”)构造函数,该构造函数在默认位置(0,0)处构造一个点。
  • 一个重载的构造函数,它使用给定的x和y坐标构造一个点。
  • 一个重载的构造函数,它使用给定的MyPoint对象构造一个点。
  • 实例变量x和y的字母和字母设置器。
  • 一种名为setXY(newx,newy)的方法,用于同时设置x和y。
  • 名为getXY()的方法,该方法在2元素int数组中返回x和y。

这是我到目前为止编写的代码:

class MyPoint {
    public int x;
    public int y;

    public String toString(){

    }

    public MyPoint(){
        this(0, 0);
    }

    public MyPoint(int x, int y){
        this.x = x;
        this.y = y;
    }

    public void setX (int x){
        this.x = x;
    }

    public int getX(){
        return x;
    }

    public void setY (int y){
        this.y = y;
    }

    public int getY(){
        return y;
    }

}

我已经完成了所有其他工作,但是,我陷入了使用给定的MyPoint对象编写重载的构造函数并实现getXY和setXY方法(突出显示)并总体使代码正常工作的问题。

具有给定MyPoint对象的重载构造函数看起来类似于:

public MyPoint(int x, int y){
            this.x = x;
            this.y = y;
        }

任何帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:4)

用于重载构造函数

public MyPoint(MyPoint p){
        this.x =p.x;
        this.y =p.y;
    }

对于setXY()和getXY()

  public void setXY (int x,int y){
            this.x = x;
            this.y = y;

        }
          public int[] getXY ()
        { 
        return new int[]{this.x,this.y};

        }

答案 1 :(得分:1)

具有给定MyPoint对象的重载构造函数将采用MyPoint对象作为参数,如下所示:

public MyPoint(MyPoint point) {
    this.x = point.x;
    this.y = point.y;
}

这种重载的构造函数称为 Copy构造函数

答案 2 :(得分:0)

公共MyPoint(MyPoint mp) {

this.x = mp.x;

this.y = mp.y;

}

注意:您只能传递MyPoint类型的引用变量