1. 静的変数: 静的変数によって変更される変数
作成したクラスを見てみましょう。オブジェクト c1 と c2 はそれぞれ 2 つの異なるメモリ空間を占有します。これら 2 つのオブジェクトの属性は同じですが、互いに無関係です。1 つのオブジェクトのプロパティを変更しても、もう 1 つのオブジェクトのプロパティは変更されません。
c. static キーワードで変更された変数は静的変数と呼ばれます。
逆に変化しない属性は非静的変数と呼ばれ、通常はインスタンス変数 と呼ばれるものです。
要約:
1. 静的変数は、クラスがロードされるときにロードされ (オブジェクトではなくクラスに属します)、class.static 変数を通じて呼び出すことができます。
2. 静的変数は、オブジェクトが作成される前にロードされます。
3. クラスは一度だけロードされるため、メモリ内には静的変数のコピーが 1 つだけ存在し、メソッド領域の静的ドメインに存在します。
2. 静的メソッド: 静的変更メソッド
注: Chinese.eat() は class.static 変数を通じて呼び出されます。このメソッドを呼び出すためにオブジェクト (中国語 c1= new Chinese(), c1.eat()) を作成する必要はありません。
例証します:
1. 静的メソッドでは、静的メソッドまたは静的プロパティのみを呼び出すことができます。
2. 非静的メソッドでは、静的メソッドまたは属性だけでなく、非静的メソッドまたは属性も呼び出すことができます。
最後にまとめると、クラス内の静的変数とメソッドの問題を判断したい場合は、次のことだけを覚えておく必要があります。静的変数とメソッドには、それらが配置さ
れているクラスがコンパイルされるときにメモリが割り当てられ、インスタンス変数とインスタンスにはメモリが割り当てられます。メソッドはすべてクラス内に割り当てられます クラスオブジェクトを作成した後、クラスはメモリを割り当てます この順序を覚えていれば、すべての問題は解決します。