Передача объекта через метод через его конструктор в Java? - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь передать строку 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 Ответ

1 голос
/ 04 октября 2019

Вам необходимо сохранить переменную 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...