通过对象的构造函数在Java中将对象传递给方法?

时间:2019-10-03 22:21:52

标签: java methods constructor

我正在尝试从同名的构造函数String中将字符串label传递到我的方法toString()中。但是,我不断收到错误消息,告诉我label无法解析为变量。这是我的代码:

public class LabeledPoint extends java.awt.Point {

    LabeledPoint(int x, int y, String label){
        setLocation(x, y);

    }

    public String toString() {
        return getClass().getName() + "[x=" + x + ",y=" + y + ",label=" + label + "]";
    }


}

我已经推断出它与构造函数的主体有关,但是我不知道是什么。谢谢。

1 个答案:

答案 0 :(得分:1)

您需要将 label 变量存储在LabeledPoint类中:

public class LabeledPoint extends java.awt.Point {
    private String label;
    LabeledPoint(int x, int y, String label){
        setLocation(x, y);
        this.label = label;
    }

    public LabeledPoint setLabel (String final label){
        this.label = label;
        return this;
    }

    public String getLabel (){
        return label;
    }

    public String toString() {
        return getClass().getName() + "[x=" + x + ",y=" + y + ",label=" + this.getLabel() + "]";
    }
}

编辑:应用@Stephen P的建议