5静的領域についてもうちょっと理解を深めるため、インスタンスと比較してみましょう。静的領域とインスタンスstaticフィールドと普通のフィールドを持つクラスを作ってみましょう。staticフィールドと普通のフィールドを持つクラス。int型変数のstaticフィールドdataStaticを定義します。int型変数のフィールドdataNormalを定義します。このクラスを実行してください。staticフィールドに数値を入れます。インスタンスを2つ作ります。それぞれに数値を入れます。staticフィールドから値を取り出して出力します。普通のフィールドから値を取り出して出力します。staticフィールドと普通のフィールドを持つクラス。int型変数のstaticフィールドdataStaticを定義します。int型変数のフィールドdataNormalを定義します。このクラスを実行してください。staticフィールドに数値を入れます。インスタンスを2つ作ります。それぞれに数値を入れます。staticフィールドから値を取り出して出力します。普通のフィールドから値を取り出して出力します。200}}HasStaticAndNormalFieldクラスは、staticフィールド1つ、普通のフィールド1つを持っています。staticフィールドと普通のフィールドを持つクラス。int型変数のstaticフィールドdataStaticを定義します。int型変数のフィールドdataNormalを定義します。staticフィールドと普通のフィールドを持つクラス。int型変数のstaticフィールドdataStaticを定義します。int型変数のフィールドdataNormalを定義します。dataNormal;}2つのフィールドを持っていますが、それぞれ別の領域に作られることに注意してください。staticフィールドのdataStaticフィールドは静的領域に作られます。普通のフィールドのdataNormalフィールドはインスタンスに作られます。staticフィールドに数値を入れます。staticフィールドに数値を入れます。インスタンスを2つ作ります。インスタンスを2つ作ります。HasStaticAndNormalField();はわけて作られる、ということです。静的領域とインスタンスstaticフィールドと普通のフィールドは、プログラム上での違いは「staticが付いているかいないか」だけですが、実際には大きく異なります。この異なる点、つまり「staticフィールドは静的領域に作られる」「普通のフィールドはインスタンスに作られる」という違いをプログラムからイメージできるようにしましょう。したら、静的領域はインスタンスに似ていると感じるかもしれません。実際、静的領域はインスタンスとほぼ同じです。違うのは、静的領域は「newで作らなくても自動的に作られる」「一度できたら増えることもなくなることもない」という点だけです。この点を押さえれば、静的領域をイメージしやすくなるでしょう。オブジェクト指向とJavaこのページは、Java言語を用いたオブジェクト指向プログラミングのチュートリアル解説を行う「Javaのオブジェクト指向入門」の一ページです。詳しい説明は「Javaのオブジェクト指向入門」目次をご覧ください。