まず、Java 言語でサポートされる変数には次の 3 種類があります。
クラス変数: メソッドに依存しない変数で、静的に変更されます。
インスタンス変数: メソッドからは独立していますが、静的な変更は行われない変数。
ローカル変数: クラス メソッド内の変数。
例:
(ビデオチュートリアルの推奨: java ビデオ)
ローカル変数
ローカル変数はメソッド、コンストラクター、またはステートメント ブロックで宣言されます。
ローカル変数は、メソッド、コンストラクター、またはステートメント ブロックが実行されるときに作成されます。実行されると、変数は次のようになります。破棄されました;
アクセス修飾子はローカル変数には使用できません;
ローカル変数は、宣言されているメソッド、コンストラクター、またはステートメント ブロックでのみ表示されます;
ローカル変数スタック上に割り当てられます。
ローカル変数にはデフォルト値がないため、ローカル変数を宣言した後、使用する前に初期化する必要があります。
#例:
##出力:
インスタンス変数
インスタンス変数はクラス内で宣言されますが、メソッド、コンストラクター、およびステートメント ブロックの外側で宣言されます ;
オブジェクトがインスタンス化されると、各インスタンス変数の値が決定されます。
インスタンス変数は、オブジェクトの作成時に作成され、オブジェクトの破棄時に破棄されます。
値インスタンス変数のインスタンス変数は、少なくとも 1 つのメソッド、コンストラクター、またはステートメント ブロックによって参照され、外部がこれらのメソッドを通じてインスタンス変数の情報を取得できるようにする必要があります。
インスタンス変数は使用前または使用後に宣言できます。
アクセス修飾子はインスタンス変数を変更できます。
インスタンス変数は、クラス内のメソッド、コンストラクター、またはステートメント ブロックから参照できます。一般に、インスタンス変数はプライベートにする必要があります。アクセス修飾子を使用すると、インスタンス変数をサブクラスに表示できます。
インスタンス変数にはデフォルト値があります。数値変数のデフォルト値は 0、ブール変数のデフォルト値は false、参照型変数のデフォルト値は null です。変数の値は、宣言時またはコンストラクターで指定できます。
インスタンス変数には、変数名を通じて直接アクセスできます。ただし、静的メソッドやその他のクラスでは、完全修飾名 ObjectReference.VariableName を使用する必要があります。
具体的な例は次のとおりです。
出力結果:
クラス変数クラス変数は静的変数とも呼ばれ、クラス内で static キーワードを使用して宣言されますが、メソッドの外で宣言する必要があります。
クラスが作成するオブジェクトの数に関係なく、クラスにはクラス変数のコピーが 1 つだけあります。
静的変数は、定数として宣言される場合を除いて、ほとんど使用されません。定数は、パブリック/プライベート、最終型、および静的型として宣言された変数を指します。初期化後に定数を変更することはできません。
静的変数は静的記憶領域に保存されます。変数は定数として宣言されることがよくありますが、static のみを使用して宣言されることはほとんどありません。
静的変数は、初めてアクセスされたときに作成され、プログラムの終了時に破棄されます。
インスタンス変数と同様の可視性を持ちます。ただし、クラスのユーザーに見えるようにするために、ほとんどの静的変数はパブリック型として宣言されます。
デフォルト値はインスタンス変数と似ています。数値変数のデフォルト値は 0、ブール変数のデフォルト値は false、参照型のデフォルト値は null です。変数の値は、変数の宣言時またはコンストラクターで指定できます。さらに、静的変数は静的ステートメント ブロックで初期化することもできます。
静的変数には、ClassName.VariableName を通じてアクセスできます。
クラス変数がパブリック静的最終型として宣言されている場合は、通常、クラス変数名に大文字を使用することをお勧めします。静的変数が public 型または Final 型でない場合、その命名方法はインスタンス変数およびローカル変数の命名方法と一致します。
具体的な例:
出力:
推奨チュートリアル: Java 開発の入門
以上がJavaの変数の型を説明する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。