Я не понимаю, как использовать «это» и «это» в Java

1

Моя проблема похожа на следующий код, например:

    public void removeSelfFromGrid()
    {
      if ( grid == null )
        throw new IllegalStateException(
              "This actor is not contained in a grid." );
      if ( grid.get( location ) != this )
        throw new IllegalStateException(
              "The grid contains a different actor at location "
                     + location + "." );

      grid.remove( location );
      grid = null;
      location = null;
    }

Я узнал его давно, но я не получаю понятие this или that.

Теги:
if-statement
null
this
illegalstateexception

1 ответ

3

Java имеет только this ключевое слово, а не that

this означает, что текущий объект, на который вы вызываете метод removeSelfFromGrid.

Использование этого ключевого слова

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

Подробнее см. Здесь.

В вашем методе вы использовали if ( grid.get( location ) != this ), что означает, что объект location из grid и текущего объекта (на который вы removeSelfFromGrid метод removeSelfFromGrid) такие же или нет

  • 0
    Так что это булево? Как истинно-ложное значение?
  • 0
    @ user3363511: Что такое логическое значение?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню