- ベストアンサー
※ 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); }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>getImage() メソッドの戻り値がImage型なので、 >わざわざインスタンスを作成しなくてもよいということでしょうか? 逆です。getImage() メソッドの中で Image 型のインスタンスを作成して返すから戻り値を Image 型にしているのです。 getImage() メソッドを呼び出すということはそのメソッドに Image 型インスタンスの作成を依頼することです。 自分で作るか他のメソッドに作成を任せるかの差はあれど、クラスのインスタンスは作成しないと使用できません。
その他の回答 (1)
- hitomura
- ベストアンサー率48% (325/664)
回答No.1
getImage()メソッド(あるいはそこから呼び出される何らかのメソッド)の中でインスタンス生成をしているだけです。
質問者
補足
回答ありがとうございます。 getImage() メソッドの戻り値がImage型なので、 わざわざインスタンスを作成しなくてもよいということでしょうか?
お礼
私の文章が不十分でした。 メソッドの方でインスタンス化してくれるから、 自分でインスタンス化する必要がないということですね。 よく理解できました。 ありがとうございました。