/ / Umfang der Statik und Schlüsselwort "this" in Java [duplicate] - Java, static, this

Umfang der Statik und Stichwort "this" in Java [Duplikat] - Java, statisch, dies

Ich habe eine Frage zu diesem Codefragment:

public class Inner {

static int a;

public static void main(String[] args) {
a = 0;
}

public static void g() {
this.a = 0;
}
}

`

Warum können wir "this.a" nicht in statischen Methoden verwenden, sondern "a" ohne "this"?

Foto des Kompilierungsfehlers: https://www.dropbox.com/s/5q6y3ldsf37p0h3/%D0%97%D0%BD%D1%96%D0%BC%D0%BE%D0%BA%20%D0%B5%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202017-05-27%2017.28.34.png?dl=0

Antworten:

1 für die Antwort № 1

weil Dies verweist auf eine Instanz der Klasse in der statisch Methode Sie haben keine Instanz.

Das Dies Das Schlüsselwort verweist auf die aktuelle Instanz der Klasse. Statische Elementfunktionen haben kein Dies Zeiger

Sie werden feststellen, dass die Definition eines statischen Members lautet

Benutze die statisch Modifikator zum Deklarieren eines statischen Members, das zum Typ selbst und nicht zu einem bestimmten Objekt gehört

Weshalb Dies hat nichts zu zeigen.