ich Anfänger sind in JAVA, ich lese diesen Code:Statische Mitglieder einer Klasse
class trying1{
static int x =40;
public static void main(String ...s){
trying1 t = new trying1();
x =20;
System.out.println(x); // print 20
t.show1();
}
void show1(){
System.out.println(x); // print 20
}
}
class trying2{
public static void main(String ...s){
System.out.println(trying1.x); // print 40
}
}
Warum es in Klasse druckt trying2?
Ich weiß, dass statische Datenmitglieder Speicher nur einmal erhalten und jeder diesen Speicher teilt. Wie in der Klasse trying1, ‚x‘ ist eine Klasse var, & wenn ich den Wert von ändern x es in jeder Instanz der Klasse reflektiert wird, oder Sie können es Wert sagen wird an seinem Speicherplatz geändert. a Nach dem Kompilieren und Ausführen der Klasse trying1, wenn ich trying2.class ausführen zeigt es als Ausgabe.
Allerdings sollte der Wert auf 20 geändert werden?
Kann mir jemand dabei helfen.
Vielen Dank !!
Wie läuft das? –
** javac trying1.java **, daher werden zwei '.class' Dateien erstellt, die Sie mit dem Befehl java ausführen können. –
bedeutet, dass Sie versuchen, 1, es läuft, endet, als nächstes starten Sie versuchen2, es läuft auch ..? –