ホームページ  >  記事  >  Java  >  Javaの静的変数とインスタンス変数の違いは何ですか?

Javaの静的変数とインスタンス変数の違いは何ですか?

青灯夜游
青灯夜游オリジナル
2019-11-16 16:13:035627ブラウズ

Javaの静的変数とインスタンス変数の違いは何ですか?

静的変数はクラス レベルに属し、インスタンス変数はオブジェクト レベルに属します。

静的変数とインスタンス変数の間には 2 つの主な違いがあります:

1. 異なる格納場所

クラス変数はメソッド領域に存在します。インスタンス変数はオブジェクトの作成時にヒープメモリ上に存在します。

2. さまざまなライフ サイクル

クラス変数のライフ サイクルが最も長く、クラスがロードされるときにロードされ、クラスが消滅すると消滅します。インスタンス変数は、オブジェクトが消滅すると消滅します。

静的使用に関する注意:

1. 静的メソッドは静的メンバー (メンバー変数およびメンバー メソッドを含む) にのみアクセスできますが、非静的メンバーまたはメソッドにはアクセスできません。 。

非静的メソッドは、静的または非静的メソッドまたはメンバーにアクセスできます。

2. this キーワードと super キーワードは静的メソッドでは使用できません。

static はオブジェクトの存在に先行するため、this および super キーワードは使用できません。

3. main 関数は static です。

以上がJavaの静的変数とインスタンス変数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。