人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Javaのインスタンス化について質問です。

class a {
public static void main(String[] args) {
System.out.println("A");
}
}

このプログラムでインスタンスはありますか?でしたら、それは何ですか?
また、違えば、例えばどういうのがプログラム中のインスタンスですか?
ソースを書いて教えて下さい!簡単なプログラムでお願いします。

●質問者: niseSM
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● うぃんど

現状では単なる文字の羅列です。
(ソースコード a.java)

コンパイルで実行可能な状態になります。
(クラスファイル a.class)

インスタンス化
実際に動く状態になればインスタンスです。
(直接実行 java a.class あるいは他のクラスで利用 new a)

http://q.hatena.ne.jp/1383527402


2 ● rsc

static だから、インスタンスの生成は不要かも。(^_^;
※参考URL
http://nobuo-create.net/java-beginner-21/


3 ● a-kuma3

このプログラムでインスタンスはありますか?でしたら、それは何ですか?

あります。
System.out は、java.io.PrintStream クラスのインスタンスです。

自分で new して作らなくても、用意されているインスタンスというのがあります。


うぃんどさんのコメント
「自分で new しなくても、インスタンス化されるクラスが用意されています」だと思いますが…。 それはさておき、 7667SMさんが難しく考えすぎなのか、私が考えすぎなのか…、 よくわからなくなってきました…。 根底の部分は、これだけの話のはずなのですが…。 1.自作のクラスを呼び出せば実体化(インスタンス化)されてインスタンスとなる。 2.既存のクラスを呼び出した場合も実体化(インスタンス化)されてインスタンスとなる。

a-kuma3さんのコメント
>> 「自分で new しなくても、インスタンス化されるクラスが用意されています」だと思いますが…。 << 文字でニュアンスを伝えるのは難しいですが、ぼくのイメージはちょっと違います。 というか、その文章からぼくが受けるイメージと、ぼくが回答に書いたときにイメージしていたことがちょっと違います。 例えば、質問にある System.out は、java.io.PrintStream のインスタンスですが、 -自分で java.io.PrintStream クラスのインスタンスを作ることもできる -あらかじめ用意されている java.io.PrintStream のインスタンスは、System.err もある うぃんどさんが書いてくれた文章から、ぼくが受けるイメージは、「そのクラスのインスタンスは、明示的に new しなくても良い」です。 # そういう意図は無いのかもしれませんが。 7667SM さんは、本当に「インスタンスって何?」と思ってるだけなんだと思います。 ぼくも手続型言語から OO に手を付けたクチなので、とても分かります(と、思い込んでます)。 java のようなオブジェクト指向な言語の中では、「クラスを呼び出す」という言い方に違和感があります。 クラスをインスタンス化して、それに対してメッセージを送る(メソッドを呼び出す)というイメージです。 順番として、働きかける相手があって、その次にアクションがある。 だから「インスタンス化 (instantiation)」という言い方が使われるのだと思います。 実行モジュールのプロセスイメージを「インスタンス」と呼ぶ流儀は知ってます(Win32API とかをバリバリ使ってたときもあったので)。 [http://q.hatena.ne.jp/1383527402:title=前の質問]でも「Javaの……」あったので、触れませんでした。

4 ● kenichiice

例示されたプログラムには、次のインスタンスがあると言えると思います。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ