• ベストアンサー
  • 暇なときにでも

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

  • 質問No.7110569
  • 閲覧数127
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (3/6)

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

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 48% (325/664)

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

お礼率 50% (3/6)

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

ありがとうございました。
投稿日時:2011/11/03 23:23

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 48% (325/664)

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

お礼率 50% (3/6)

回答ありがとうございます。
getImage() メソッドの戻り値がImage型なので、
わざわざインスタンスを作成しなくてもよいということでしょうか?
投稿日時:2011/11/03 15:47
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ