操作効果:
コンソール効果:
=================================================
コード部分
=================================================
/hello_test/src/com/b510/test/StaticTest.java
/**
* プログラム実行時の違い: インスタンス変数はオブジェクトのプロパティに属し、インスタンス オブジェクトを作成する必要があります。<br>
※その中のインスタンス変数のみに領域が割り当てられ、そのインスタンス変数が使用可能となります。静的変数はに属していません<br>
* インスタンス オブジェクトですが、クラスに属しているため、プログラムがクラスのバイトコードを読み込む限り、クラス変数とも呼ばれます。<br>
※インスタンスオブジェクトを作成しなくても、静的変数に領域が割り当てられ、静的変数を使用することができます。 <br>
* つまり、インスタンス変数はこのオブジェクトを通じて使用する前にオブジェクトを作成する必要がありますが、静的変数は<br>
※クラス名を直接使用して参照します。たとえば、次のプログラムの場合、インスタンス オブジェクトがいくつ作成されても、<br>
* <code>staticInt</code> 変数は常に 1 つだけ割り当てられ、インスタンス オブジェクトが作成されるたびに、<br>
* この <code>staticInt</code> は 1 ずつ増加しますが、インスタンス オブジェクトが作成されるたびに <code>random</code> が割り当てられます。<br>
* つまり、複数の <code>random</code> を割り当てることができ、各 <code>random</code> の値は 1 回だけ増加します。 <br>
*
* @author <a href="mailto:[email protected]">ホンテン</a>
* @日付 2013-3-2
*/
パブリック クラス StaticTest {
プライベート静的 int staticInt = 2;
プライベート int ランダム = 2;
public StaticTest() {
staticInt++;
ランダム++;
System.out.println("staticInt = "+staticInt+"ランダム = "+ランダム);
}
public static void main(String[] args) {
StaticTest テスト = new StaticTest();
静的テスト test2 = 新しい静的テスト();
}
}