Написание методов экземпляра

Я тренируюсь писать метод экземпляра, который преобразует натуральное число в целое число.

Я следовал учебному пособию онлайн и придумал код ниже. Однако, когда я компилирую, он продолжает добавлять "this"Код компилируется и дает ожидаемый результат, но я получаю несколько предупреждающих сообщений.this.i"правильный синтаксис при создании метода экземпляра?

private NaturalNumber i;

public int toInt() {
    int result = 0;
    if (!(this.i.isZero())) {
        int d = this.i.divideBy10();
        result = this.i.toInt() * 10 + d;
        this.i.multiplyBy10(d);
    }
    return result;
}

1 ответ

Всякий раз, когда вы вызываете какие-либо внутренние поля или методы объекта, ключевое слово this, даже если явно не присутствует, подразумевается, ссылаясь на сам объект.

Более подробную информацию можно найти в документации по Java, например, из Oracle:

Так, this.i просто означает "переменная i в this объект ". Конечно, i ему нужно присвоить значение перед вызовом любого из его методов, таких как this.i.isZero()в противном случае ошибка времени выполнения (NullPointerException) произойдет. Среда IDE также может предупреждать о такой ошибке (например, Eclipse подчеркивает нарушившую команду неровной желтой линией).

Java IDE могут автоматически добавлять this Ключевое слово, если так указано в их настройках. Например, в Eclipse, вы можете включить эту функцию из

  • Окно -> Настройки -> Java -> Стиль кода -> Определить все сгенерированные обращения к полям с помощью этого
Другие вопросы по тегам