インスタンス変数とローカル変数の違いは何ですか

目次:

Anonim

NS 主な違い インスタンス変数とローカル変数の間は インスタンス変数は、クラス内でメソッドの外部で宣言される変数ですが、ローカル変数は、メソッドまたはコンストラクター内で宣言される変数です。

オブジェクト指向プログラミング(OOP)は、ソフトウェア開発で使用される主要なプログラミングパラダイムです。これにより、プログラマーはオブジェクトを使用して実際のシナリオをモデル化できます。したがって、OOPを使用してエンタープライズレベルのアプリケーションを構築する方が簡単です。したがって、Javaなどのプログラミング言語はOOPパラダイムをサポートします。さらに、変数は、これらのプログラムにデータを格納するためのメモリ位置です。変数にはさまざまな種類があり、そのうちの2つはインスタンス変数とローカル変数です。

クラス、コンストラクター、オブジェクト、メソッド、インスタンス変数、ローカル変数

インスタンス変数とは

インスタンス変数は、クラス内で宣言された変数ですが、メソッドの外部にあります。これらの変数は、クラス全体のオブジェクトの状態を表します。そのクラスのオブジェクトには、そのインスタンス変数の独自のコピーがあります。したがって、あるオブジェクトのインスタンス変数が別のオブジェクトのインスタンス変数に変更されていることを見つけることはできません。これらの変数は、クラスのすべてのコンストラクターとメソッドに表示されます。

さらに、インスタンス変数にはデフォルト値を設定できます。オブジェクトのデフォルト値はnullです。ブール値のデフォルト値はfalseですが、整数の場合は0です。プログラマーは、宣言中またはコンストラクター内でインスタンス変数に値を割り当てることができます。

インスタンス変数を使用したプログラムの例は次のとおりです。

図1:インスタンス変数を使用したJavaプログラム

ここで、Studentクラスでは、idとnameはローカル変数です。これらはプライベート変数であるため、クラス内でアクセスできます。コンストラクターは、インスタンス変数に値を提供します。 displayメソッドには、IDと名前を出力する2つのステートメントがあります。 mainメソッドには、Student型のオブジェクトがあります。次に、プログラマーはそのオブジェクトを使用してdisplayメソッドを呼び出すことができます。最後に、コンソールにIDと名前が表示されます。学生のコンストラクターとメソッドのdisplayとmainは、ローカル変数であるため、idとnameにアクセスできます。

ローカル変数とは

ローカル変数は、メソッドまたはコンストラクター内で宣言される変数です。ローカル変数は、メソッドまたはコンストラクターを入力するときに作成されます。同様に、メソッドまたはコンストラクターを終了すると、これらの変数が破棄されます。したがって、ローカル変数は、宣言されたメソッドまたはコンストラクター内でのみ表示されます。

ローカル変数を使用したプログラムの例は次のとおりです。

図2:ローカル変数を使用したJavaプログラム

ここで、メソッドcalculateValueはTestクラス内にあります。ローカル変数valueがあります。また、初期値は0です。その後、その値は10ずつ増加します。また、mainメソッドには、Test型のオブジェクトがあります。次のステップは、このオブジェクトを使用してcalculateValueメソッドを呼び出すことです。最後に、コンソールに新しい値が表示されます。

インスタンス変数とローカル変数の違い

意味

インスタンス変数はオブジェクト自体にバインドされる変数であり、ローカル変数は通常メソッドまたはコンストラクターで使用される変数です。したがって、これがインスタンス変数とローカル変数の主な違いです。

アクセス修飾子

デフォルト変数

また、インスタンス変数にはデフォルト値を設定できますが、ローカル変数にはデフォルト値を設定できません。

創造

さらに、インスタンス変数はオブジェクトの作成時に作成されますが、ローカル変数はメソッドまたはコンストラクターの入力時に作成されます。したがって、これはインスタンス変数とローカル変数のもう1つの違いです。

破壊

重要なのは、オブジェクトを破棄するとインスタンス変数が破棄され、メソッドを終了するかコンストラクターがローカル変数を破棄することです。したがって、これはインスタンス変数とローカル変数の重要な違いでもあります。

結論

簡単に言うと、Javaなどのプログラミング言語はインスタンスとローカル変数をサポートします。インスタンス変数はクラス内で宣言されているがメソッド外で宣言されている変数であり、ローカル変数はメソッドまたはコンストラクター内で宣言されている変数です。したがって、これがインスタンス変数とローカル変数の主な違いです。

参照:

1.「Javaの変数|コアJavaチュートリアル。」 Studytonight、こちらから入手できます。

インスタンス変数とローカル変数の違いは何ですか