5メソッドは、同じインスタンスのフィールドを使うことができます。今回はその方法について見てみましょう。メソッドからフィールドを使うフィールドとメソッドの両方を持つクラスを作ってみます。メソッドとフィールドを持つクラス。int型変数のフィールドです。dataフィールドを出力するメソッドです。このクラスを実行してください。HasMethodAndFieldクラスの参照型変数とインスタンスを作ります。dataフィールドに数値を入れます。printData()メソッドを呼び出します。メソッドとフィールドを持つクラス。int型変数のフィールドです。dataフィールドを出力するメソッドです。このクラスを実行してください。HasMethodAndFieldクラスの参照型変数とインスタンスを作ります。dataフィールドに数値を入れます。printData()メソッドを呼び出します。100}}このプログラムのHasMethodAndFieldクラスは、dataフィールドとprintData()メソッドを持っています。メソッド1つだけ持つクラス。int型変数のフィールドです。dataフィールドを出力するメソッドです。メソッド1つだけ持つクラス。int型変数のフィールドです。dataフィールドを出力するメソッドです。);}}このように、フィールドとメソッドをクラスの中に並べて書くことができます。ちなみに上下の順番は関係ありません。メソッドの下にフィールドを書いてもいいのですが、フィールドを最初に書いてその後メソッドを書くことが慣習的に多いです。これまで説明したとおり、フィールドとメソッドはインスタンスを作らないと使えません。HasMethodAndFieldクラスの参照型変数とインスタンスを作ります。HasMethodAndFieldクラスの参照型変数とインスタンスを作ります。HasMethodAndField();インスタンスを作ると、インスタンスの中にフィールドとメソッドが作られます。インスタンス内のフィールドとメソッド前のページで説明したように、printData()メソッドを呼び出して、その中の処理を実行することができます。printData()メソッドを呼び出します。printData()メソッドを呼び出します。ref.printData();つまり、以下のprintData()メソッドに処理が移るということです。);}この中で「data」という変数の値を出力しています。この「data」は「dataフィールド」です。フィールドとして持っているdataフィールドの値を出力しています。注意して欲しいのは、このdataフィールドは「printData()メソッドがあるインスタンスの中にあるdataフィールド」ということです。メソッドからフィールドを使うフィールドとメソッドは、共にインスタンスの中に入っています。メソッドの中でフィールドを使うと、それは「同じインスタンスにあるフィールド」ということになります。フィールドに参照型変数は使えるの?」で説明したように、参照型変数を通して「別のインスタンス」を指定してフィールドを使うことになります。慣れない内は、クラスに書かれたメソッドと、インスタンス内のフィールドの結びつきが分かりづらいかもしれません。そのため、最初は「メソッドはインスタンスの中にある」ということをしっかりイメージするようにしましょう。);}というメソッドがインスタンス内に作られるんだ、ということをイメージするようにしましょう。すれば、メソッドがフィールドを使う時に「同じインスタンス内のフィールドを使う」というイメージも作りやすいでしょう。オブジェクト指向とJavaこのページは、Java言語を用いたオブジェクト指向プログラミングのチュートリアル解説を行う「Javaのオブジェクト指向入門」の一ページです。詳しい説明は「Javaのオブジェクト指向入門」目次をご覧ください。