Дмитрий Городков

Добрый день! Спасибо за курс :))

В решении учителя есть такой код:

public Game(final Player p1, final Player p2, final Field field, final String name) {
    this.player1 = p1;
    this.player2 = p2;
    this.field = field;
    this.name = name;
    }

    public Player getPlayer1() {
        return this.player1;
    }

    public Player getPlayer2() {
        return this.player2;
    }

    public Field getField() {
    return field;
    }

    public String getName() {
        return name;
    }

не совсем ясно почему геттеры игроков возвращают значение через this.и в то же время геттеры Field and Name без this. Подскажите пожалуйста в чем разница и где можно почитать про это.

3 2

По сущности нету никакой разницы. Просто продемонстрированы варианты доступа к полю через this и варианты доступа к поля не явно (Java все равно "добавит" "this." к доступу к полям класса).

0

У самого возник подобный вопрос. Интуитивно всегда в подобных случаях пишу this. Но каждый раз такая форма записи кажется избыточной, что ли. Ведь и так понятно, что возвращаем значение поля обьекта.

Есть ли какие-то рекомендации, какая форма записи в подобных случаях предпочтительнее?

0

обычно пишут без this просто для лакончиности, исключение конструкторры и/или сеттеры когда аргумент метода по имени совпадает с полем класса.

1

Похожие вопросы

Сергей Гриненко 17 августа 2019 →

Здравствуйте, в ходе решения столкнулся с проблемой : в классе Field сделал такой setter '''public void set...

Станислав Строганов 04 марта 2019 →

Простите за тупой вопрос, я не понял как запускать тесты. Нужно же указать make и конкретный файл и назва...

Евгений Свешников 25 ноября 2018 →

Здравствуйте, непонятно, почему получается 0, ведь в методе setPl происходит присваивание переменной p1 ссы...

Олег Перов 07 августа 2018 →

Скажите,пожалуйста? ответ 5, если я уберу у переменной d2 ключевое слово final, почему опять ответ 5? ``` p...

Евгения Дианкина 03 декабря 2017 →

Здравствуйте! Не понятно почему не принимает ответ -- Убрать final у String a (ведь код скомпилится, если с...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →