• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JAVAの文法について教えてください。)

Javaの画像表示プログラムについての疑問

このQ&Aのポイント
  • Javaの文法について教えてください。JAVAを学習しはじめたばかりの初心者です。
  • 下記のプログラムに関してわからないので教えてください。イメージを表示するためにimport java.awt.Graphicsをインポートして、Image imでオブジェクトを宣言するのはわかるのですが、なぜインスタンス化の必要がないのでしょうか?
  • import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class MyImage extends Applet{ Image im; public void init(){ im = getImage( getDocumentBase(), "test/test.gif" ); } public void paint(Graphics g){ g.drawImage( im ,10,10, this); }

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.2

>getImage() メソッドの戻り値がImage型なので、 >わざわざインスタンスを作成しなくてもよいということでしょうか? 逆です。getImage() メソッドの中で Image 型のインスタンスを作成して返すから戻り値を Image 型にしているのです。 getImage() メソッドを呼び出すということはそのメソッドに Image 型インスタンスの作成を依頼することです。 自分で作るか他のメソッドに作成を任せるかの差はあれど、クラスのインスタンスは作成しないと使用できません。

mikeyan
質問者

お礼

私の文章が不十分でした。 メソッドの方でインスタンス化してくれるから、 自分でインスタンス化する必要がないということですね。 よく理解できました。 ありがとうございました。

その他の回答 (1)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

getImage()メソッド(あるいはそこから呼び出される何らかのメソッド)の中でインスタンス生成をしているだけです。

mikeyan
質問者

補足

回答ありがとうございます。 getImage() メソッドの戻り値がImage型なので、 わざわざインスタンスを作成しなくてもよいということでしょうか?

関連するQ&A