class Sub {
static int y;
public static void foo() {
this.y = 10;
}
}
Capisco che this
rappresenta l'oggetto richiamando il metodo e che i metodi statici non sono vincolati ad alcun oggetto. Ma nel caso sopra citato, anche la variabile y è statica.Perché non possiamo usare 'questo' parola chiave in un metodo statico
Se possiamo invocare il metodo statico sull'oggetto classe, perché non possiamo consentire ai metodi statici di impostare le variabili statiche della classe.
Qual è lo scopo di questo ulteriore vincolo?
Mi rendo conto che questa è una domanda antica ma voglio fare +1 su un punto piuttosto valido. Sebbene per i campi la risposta sia semplice (lascia fuori il qualificatore), per le classi interne statiche diventa rilevante ed è anche rilevante quando ciò che si desidera è un riferimento all'istanza di runtime della classe stessa. Ad esempio, posso digitare "MyClass.class" per ottenere la classe singleton, ma solo la "classe" di per sé non è valida e non esiste una soluzione alternativa simile. Questo porta al nome della classe che potrebbe essere ripetuto attraverso l'unità che non è molto ASCIUTTA. –