回答受付が終了しました

static変数について調べていましたが、下記のプログラムが、どうしても理解できないので、どなたか教えて下さい。 package gakkou; class Hensu {

回答(2件)

0

staticな変数は、クラス全体で共通です。 つまり、 AA.y = 20; BB.y = -10; === Hensu.y = 20; Hensu.y = -10; と書いたのと同じです。 ちなみに、static変数へのアクセスはインスタンス.変数でなく クラス.変数でアクセスしたほうが質問にある勘違いを減らせます。

0

>static変数について調べていましたが、下記のプログラムが、どうしても理解できないので、どなたか教えて下さい。 (実際はチョット違いますが)概念として説明します。 前提としてクラスは設計図的なモノ、インスタンスは実体、スタティックは共通領域。 例えば自動車のクラスから、自動車の実体(インスタンス)を10台でも100台でも作れるイメージ。 下記の薄い色は実体が無いみたいなイメージ。 下記の図は1つのクラスから2つのインスタンスを生成した場合。 スタティック・フィールド(変数)は共通領域なので1つしか存在しない。 インスタンス・フィールド(変数)はインスタンスごとに生成されている。

画像