静的でのJavaの使用

静的メンバ変数

私たちは皆、私たちは、このクラスのクラスに基づいて複数のオブジェクトを作成することができ、各オブジェクトは互いに独立して、独自の会員を持っていることを知っています。しかし、いくつかの点で、我々はすべてのメンバーが同じクラスのオブジェクトを共有することを願っています。この時点で静的には彼らの才能を示すための時間です!

Javaの変更された静的メンバは静的メンバまたはクラスメンバーと呼ばれます。全てのオブジェクトのクラスが共有されている。すなわちそれは、すべてのクラス、オブジェクトのすべてではないに属します。静的メンバは、直接オブジェクト名がそれにアクセスするために使用することができ、クラス名にアクセスすることができます。もちろん、彼の役割の特殊な性質を考えるには、より多くのアクセスにクラス名を使用することをお勧めします~~

あなたは、静的変数、メソッドやコードブロックを使用して変更することができます。

このセクションでは、我々は最初の静的変数について知ってもらいます。

たとえば、次のように我々は、静的クラス変数ホビー、操作コードを定義します。

結果:

ああ、に注意を払う:静的メンバーは初めてのためのシステムこのクラスは、それがメモリ空間を割り当てますと、全体のクラスに属するクラスがリサイクルされるまで、アンインストールされます!~~

第二に、静的メンバメソッド

静的変数と同じように、我々はまた、静的メソッドやクラスメソッドと呼ばれる静的な修飾法を、使用することができます。主なメソッドが静的メソッドである前に、実際には、我々は書かれています。などの静的メソッドを使用します。

結果:

それは注意する必要があります。

図1は、 静的メソッドは同一の静的メンバを呼び出すことができますが、直接非静的メンバを呼び出すことはできません。以下のような:

あなたは静的メソッドで非静的変数を呼び出したい場合は、その後、オブジェクトを介して非静的変数にアクセスするには、オブジェクトのクラスを作成することができます。以下のような:

図2に示すように、従来の方法では、メンバーは、直接次のように非静的及び静的変数は、同じでアクセスすることができます。

3、静的メソッドを直接使用すると、オブジェクトを介して非静的メソッドにアクセスする必要があり、非静的メソッドを呼び出すことはできません。以下のような:

 

第三に、静的な初期化ブロック

Javaは、初期化データブロックで割り当てることができます。以下のような:

クラス宣言は、クラスのインスタンスを作成するときに、それはコードブロックを順次実行する、初期化ブロックの複数を含んでもよいです。あなたが変更され、静的な初期化ブロックを使用している場合、それは静的な初期化ブロックと呼ばれています。

特別な注意が必要:静的初期化ブロックは、クラスがロードされたときにのみ実行され、一度だけ、同じ時間だけ静的変数代入に静的初期化ブロックで、通常のメンバ変数を初期化することはできません。

のは、コードの一部を見てみましょう:

結果:

通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

 

おすすめ

転載: www.cnblogs.com/Elliott666/p/11413836.html