Unten finden Sie eine rechtliche Java-Programm, das 5.Static Block vs Static Erklärung in Bezug auf die Variablen [Java]
fein und Drucke läuft Kann mir jemand helfen, zu verstehen, was mit den Variablen im statischen Block vor sich geht. Warum kann x zweimal offiziell deklariert werden? Hat die statische Deklaration Vorrang vor dem statischen Block?
Blockiert die statische Blockvariable 'x' die statische Variable 'x', die oben in diesem kleinen Programm deklariert wurde. Wenn ja, wie wird darauf zugegriffen?
public class App{
static int x = 2;
static int z;
static{
int x = 3;
z = x;
}
public static void main(String args[]){
System.out.println(x+z); //Output is 5.
}
}
Thankyou.
Es ist keine Frage der Priorität, es ist eine Frage des Umfangs. Das zweite 'x' wird lokal deklariert und ist wie alle statischen Methoden nur im Bereich des statischen Blocks sichtbar. Um auf die äußere Variable innerhalb des Blocks zuzugreifen, können Sie 'App.x' verwenden. – shmosel