クラスをもっと掘り下げる! (3/5)
作成:2010-12-23 11:23
更新:2010-12-23 11:23
更新:2010-12-23 11:23
■クラスとインスタンス
さて、mainの処理を見てみましょう。ここではまず最初にSyohizeiクラスの「インスタンス」というものを作成しています。
これがその部分です。「new クラス名」というようにして実行したものを、Syohizeiクラスが値の種類になっている「obj」という変数に設定しています。このnewは、指定したクラスを元に「インスタンス」というものを作る働きをします。
インスタンスというのは、そのクラスを元にしてメモリ内に作成された「操作できるオブジェクト」のことです。Javaでは、クラスを利用する際には、通常、こうやってインスタンスを作り、それを操作するのです。
もし、クラスを作って直接それを操作するとしたら、常にクラス1つしかオブジェクトが作れないことになります。例えば、ウインドウのクラスがあったとしても、それ1つしか使えないのでは困るでしょう。複数のクラスを使いたい時には、また同じようなウインドウのクラスを作らないといけなくなってしまいます。
そこで、クラスは最初に「インスタンス」というものを作り、このインスタンスにあるメソッドやフィールドを呼び出して操作するようにした、というわけです。インスタンスは、いわば「クラスのコピー」です。このように、クラスを利用する際には必ずそのインスタンスを作り、インスタンスの中のメソッドなどを操作すればいいのです。
こうしてnewで作ったインスタンスの中のメソッドは、
フィールドを利用する場合も同様です。例えば、priceフィールドの値を直接変更したければ、
Syohizei obj = new Syohizei();
これがその部分です。「new クラス名」というようにして実行したものを、Syohizeiクラスが値の種類になっている「obj」という変数に設定しています。このnewは、指定したクラスを元に「インスタンス」というものを作る働きをします。
インスタンスというのは、そのクラスを元にしてメモリ内に作成された「操作できるオブジェクト」のことです。Javaでは、クラスを利用する際には、通常、こうやってインスタンスを作り、それを操作するのです。
もし、クラスを作って直接それを操作するとしたら、常にクラス1つしかオブジェクトが作れないことになります。例えば、ウインドウのクラスがあったとしても、それ1つしか使えないのでは困るでしょう。複数のクラスを使いたい時には、また同じようなウインドウのクラスを作らないといけなくなってしまいます。
そこで、クラスは最初に「インスタンス」というものを作り、このインスタンスにあるメソッドやフィールドを呼び出して操作するようにした、というわけです。インスタンスは、いわば「クラスのコピー」です。このように、クラスを利用する際には必ずそのインスタンスを作り、インスタンスの中のメソッドなどを操作すればいいのです。
こうしてnewで作ったインスタンスの中のメソッドは、
obj.setPrice(12300);こんな形で呼び出されています。
double kekka = obj.getZeikomi();
インスタンス.メソッド(引数)というような形で、作ったインスタンス名の後にドットでメソッド名をつなげて書くのです。これで、そのインスタンスの中にあるメソッドが呼び出されます。
フィールドを利用する場合も同様です。例えば、priceフィールドの値を直接変更したければ、
obj.price = 1000;こんな具合に、インスタンス名の後にドットでフィールド名をつなげて書けばOKです。ここではpriceの値を変更していますが、同じようにフィールドの値を取り出すこともできます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※mainメソッドの内容 public static void main(String[] args){ Syohizei obj = new Syohizei(); obj.setPrice(12300); double kekka = obj.getZeikomi(); System.out.println(kekka); }
※関連コンテンツ