Java: ссылка на объект перед оператором точки в методе

Итак, вот в чем проблема. Я создал класс Time, который позволяет мне создавать объекты времени. В моем классе времени я создал метод под названием minutesUntil, minutesUntil говорит мне разницу в минутах между двумя разами.

Звонить minutesUntilЯ использовал эту строку.

time1.minutesUntil(time2)

Это код в minutesUntil,

 public int minutesUntil(Time other){
    int otherTotalMinutes = other.getMinutes() + (other.getHours() * 60);
    int thisTotalMinutes = ??.getMinutes() + (??.getHours() * 60);
    return (otherTotalMinutes - thisTotalMinutes);
}

Что я использую вместо вопросительных знаков в третьей строке для обозначения объекта time1 внутри minutesUntil метод.

2 ответа

Если я вас правильно понимаю, вы хотите this; то есть

int thisTotalMinutes = ??.getMinutes() + (??.getHours() * 60);

должно быть

int thisTotalMinutes = this.getMinutes() + (this.getHours() * 60);

Что также может быть выражено как

// Using "this" implicitly.
int thisTotalMinutes = getMinutes() + (getHours() * 60);

Вам ничего не нужно там. Избавьтесь от точек. Изменить это:

int thisTotalMinutes = ??.getMinutes() + (??.getHours() * 60);

к этому:

int thisTotalMinutes = getMinutes() + (getHours() * 60);

Или использовать this если вы хотите, но я не вижу необходимости загромождать код this в this ситуация.

Другие вопросы по тегам