Jak słusznie zauważył @krzysiek050 this
to nie zmienna, a słowo kluczowe (ang. keyword).
W celu uzyskania odpowiedzi na to pytanie wystarczy otworzyć tutorial na stronie Oracle'a, a tam czytamy:
Within an instance method or a constructor, this is a reference to the current object
I to już w zasadzie daje nam odpowiedzi na nasze wszytkie pytania.
a) metody statyczne nie mogą odwoływać się do zmiennej this - prawda
The Java programming language supports static methods as well as static variables. Static methods, which have the static modifier in their declarations, should be invoked with the class name, without the need for creating an instance of the class.
Skoro statyczne metody możemy wywołać bez tworzenia obiektu danej klasy, to z regułki na temat this
wiemy, że z wnętrza takiej metody nie mamy dostępu do this. Statyczne metody mają tylko dostęp do statycznych pól danej klasy. Jeżeli spróbujecie odwołać się do innego pola to dostaniecie compile time exception.
b) każdy obiekt posiada zmienna this - prawda
Within an instance method or a constructor
Jeżeli mamy do czynienia z obiektem, to musiał zostać wywołany konstruktor i mamy dostęp do method instancyjnych (czy jak to tam jest po polsku), więc tak.
c) this powstaje podczas tworzenia obiektu - prawda
this is a reference to the current object — the object whose method or constructor is being called
a poza tym this
jest już dostępne w bloku inicjalizacyjnym, który wykonuje się jeszcze przed konstruktorem.
Instance initializers are permitted to refer to the current object via the keyword this
d) uzycie this w konstruktorze jest nie mozliwe, gdyż obiekt jeszcze nie istnieje - fałsz
Within an instance method or a constructor