Ответ 1
home.This
Home.this
относится к текущему экземпляру класса Home
.
Формальным термином для этого выражения является Qualified this, как указано в разделе 15.8.4 Спецификации языка Java.
В простом классе выражение Home.this
и this
будет эквивалентным. Это выражение используется только в тех случаях, когда существует внутренний класс, и нужно ссылаться на окружающий класс.
Например:
class Hello {
class World {
public void doSomething() {
Hello.this.doAnotherThing();
// Here, "this" alone would refer to the instance of
// the World class, so one needs to specify that the
// instance of the Hello class is what is being
// referred to.
}
}
public void doAnotherThing() {
}
}
Home.class
Home.class
вернет представление класса Home
в качестве объекта Class
.
Формальным термином для этого выражения является литерал класса, как указано в разделе 15.8.2 Спецификации языка Java.
В большинстве случаев это выражение используется, когда используется отражение, и ему нужен способ ссылаться на сам класс, а не на экземпляр класса.