こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JAVAの文法について教えてください。

JAVAを学習しはじめたばかりの初心者です。
下記のプログラムに関してわからないので教えてください。

下記はtest.gif画像を表示するプログラムなのですが、
イメージを表示するために
import java.awt.Graphicsをインポートして、
Image im でオブジェクトを宣言するのはわかるのですが、

通常はこの後に
im = new Image() のようにインスタンス化する必要があると思うのですが、
このプログラムにはありません。

なぜ不要なのでしょうか?


**********************

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);
}
}

投稿日時 - 2011-11-03 13:22:39

QNo.7110569

暇なときに回答ください

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

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

投稿日時 - 2011-11-03 21:18:48

お礼

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

ありがとうございました。

投稿日時 - 2011-11-03 23:23:20

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2011-11-03 14:45:48

補足

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

投稿日時 - 2011-11-03 15:47:38

あなたにオススメの質問