Betriebseffekt:
Konsoleneffekt:
===============================================
Codeteil
===============================================
/hello_test/src/com/b510/test/StaticTest.java
/**
* Der Unterschied bei laufendem Programm: Instanzvariablen gehören zu den Eigenschaften eines Objekts und es muss ein Instanzobjekt erstellt werden,<br>
* Nur der darin enthaltenen Instanzvariablen wird Speicherplatz zugewiesen und diese Instanzvariable kann verwendet werden. Statische Variable gehört nicht zu a<br>
* Ein Instanzobjekt, das jedoch zu einer Klasse gehört und daher auch als Klassenvariable bezeichnet wird. Solange das Programm den Bytecode der Klasse lädt,<br>
* Ohne die Erstellung von Instanzobjekten wird statischen Variablen Speicherplatz zugewiesen und statische Variablen können verwendet werden. <br>
* Kurz gesagt, Instanzvariablen müssen ein Objekt erstellen, bevor sie über dieses Objekt verwendet werden können, während statische Variablen dies können<br>
* Verwenden Sie direkt den Klassennamen als Referenz. Für das folgende Programm gilt beispielsweise, dass es keine Rolle spielt, wie viele Instanzobjekte erstellt werden:<br>
* Es wird immer nur eine <code>staticInt</code>-Variable zugewiesen, und jedes Mal, wenn ein Instanzobjekt erstellt wird, <br>
* Dieser <code>staticInt</code> wird um 1 erhöht; jedoch wird jedes Mal, wenn ein Instanzobjekt erstellt wird, ein <code>zufälliger</code> zugewiesen.<br>
* Das heißt, es können mehrere <code>random</code> zugewiesen werden, und der Wert jedes <code>random</code> wird nur einmal erhöht. <br>
*
* @author <a href="mailto:[email protected]">hongten</a>
* @Datum 2013-3-2
*/
öffentliche Klasse StaticTest {
privates static int staticInt = 2;
private int random = 2;
public StaticTest() {
staticInt++;
zufällig++;
System.out.println("staticInt = "+staticInt+" random = "+random);
}
public static void main(String[] args) {
StaticTest test = new StaticTest();
StaticTest test2 = new StaticTest();
}
}