この記事には複数の問題があります。 この記事の改善にご協力いただくか、これらの問題についてトークページで議論してください。 (テンプレートメッセージを削除する方法とタイミングを学ぶ)
This article needs attention from an expert in Computer science. 記事の問題を説明するために、このテンプレートに理由かトークパラメーターを追加してください。 WikiProject Computer scienceは専門家の採用を支援することができるかもしれません。 (2013年9月)
この記事はオリジナルの研究を含んでいる可能性があります。 主張を検証し、インライン引用を追加することで改善をお願いします。 オリジナル研究のみからなる記述は削除してください。 (2013年9月) (このテンプレートメッセージを削除する方法とタイミングを学ぶ)
この記事のトーンまたはスタイルは、ウィキペディアで使用されている百科事典のトーンを反映していない可能性があります。 ウィキペディアの「よりよい記事を書くためのガイド」を参照してください。 (2013 年 9 月) (このテンプレートメッセージを削除する方法とタイミングを学ぶ)
(このテンプレートメッセージを削除する方法とタイミングを学ぶ)
クラス変数と間違えないように。
クラスを用いたオブジェクト指向プログラミングにおいて、インスタンス変数とはクラス内で定義された変数(すなわちメンバー変数)であって、クラスのそれぞれのインスタンスが個別のコピーを持つ、またはインスタンスを持つものをいいます。 インスタンス変数はクラス変数と似ているが、非静的である。インスタンス変数はクラスで宣言された変数であるが、コンストラクタ、メソッド、ブロックの外側にある変数である。 インスタンス変数は、オブジェクトがインスタンス化されたときに作成され、クラス内のすべてのコンストラクタ、メソッド、ブロックからアクセス可能です。 アクセス修飾子はインスタンス変数に与えることができます。
インスタンス変数は、類似点はありますが、クラス変数ではありません。 これはクラス属性(またはクラスプロパティ、フィールド、データメンバ)の一種です。 クラスはインスタンスメソッドとクラスメソッドの両方を持つことができます。
各インスタンス変数は、それが所有しているオブジェクトの寿命のためにメモリに住んでいます。 オブジェクトのすべてのインスタンスは、値が1つのオブジェクトから別のオブジェクトに同じである場合でも、インスタンス変数の独自のコピーを持っています。 1つのオブジェクトのインスタンスは、他のすべてのインスタンスに影響を与えることなく、そのインスタンス変数の値を変更することができます。 インスタンス変数は、メソッドが static と宣言されていない限り、クラスのすべてのメソッドで使用することができます。