最近、JDK を使っていて思ったのですが、javac でコンパイルしたときに
変わったクラスファイルがでてくるのですが・・・
たとえば、
MainFrame.class の他にMainFrame$1.class
があったりします。
これがないと実行できません。
これはいったいなんなんでしょうか?
どうか、教えてください。
お願いします。

A 回答 (1件)

 MainFrame.javaの中でanonymous class(無名クラス/匿名クラス)を定義していますね?



 Javaには「一つのクラス定義=一つのクラスファイル」という原則があります。

 MainFrame.javaの中で複数のクラスを定義しているわけですが、anonymous classは「$」が付いたクラスファイルになります。

参考URL:http://www.geocities.co.jp/SiliconValley-Oakland …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QクラスTシャツの作成について

クラスTシャツというか
部活(吹奏楽部)でみんなでそろえてTシャツを作りたいと思ってます
お値段もお手ごろでデザインも可愛い
Tシャツ作成会社をご存知の方
教えてください

Aベストアンサー

安いトコロです
http://www.nook-market.com/
http://www.shimizu-seihan.com/

いろいろオプションがあるトコロです
http://www.nakaki.net/index.html
http://www.p1-intl.com/index.html

Qコンパイルした後 java (classファイルの名前) が実行できない

すみません。本当につまらない質問かもしれませんが
コンパイルまではDOS窓でできるんですが。できたCLASS
ファイルを java (できたclassファイル名) を実行しよう
としても、
Exception in thread "main" java.lang.NoClassDefFoundError: (できたファイルの名前)
と表示されてしまい、まったく実行できません。
これはどうしたら実行できるのでしょうか?
なお、最新版のSDKとJava 2 Runtime Environmentはインストールしています。
どうかお願いします。

Aベストアンサー

1. .classまでクラスファイル名つけてませんか?
2. カレントディレクトリがclassファイルのある場所にあるかまたはクラスパスがclassファイルのある場所に追加されていますか?
3. クラスファイル名間違ってませんか?
4. CLASSPATHを設定した場合、.(現在のディレクトリ)を指定していますか?
5. 2番目の回答者の方と同じです、ファイル名とクラス名一致してますか?

JDKが古いバージョンの物も必要というのはちょっと聞いたことがないですが・・・。

Q文化祭等でのクラスTシャツ

僕のクラスでは文化祭でクラスのTシャツを作ります。
でも当日しか着ないのでお金の無駄、コストに対するリターン(賛成派はこれを盛り上がりと称しています)が少なすぎると思い、多数決では反対に回りました。
しかしほかの生徒は全員賛成でした。

皆さんだったら、文化祭を盛り上げるためにクラスでTシャツを作るのに賛成ですか、反対ですか?値段は一着1000円台前半です。人数は40人程度です。デザインなどは問いません。

いろいろな意見を聞いてみたいです。よろしくお願いします。

Aベストアンサー

「当日しか着ない」と考えてしまうところが若さですね。

当日の盛り上がりグッズとしての1000円の出費も高校生なら高くないと思います。
(休みの日にボーリングやカラオケ行って、ハンバーガー食べて帰って来たらそれ以上使ってませんか?)

それに文化祭が終わってからも男子は部屋着として使い、それを友達との話のネタとして盛り上がることも出来ますし、キレイに洗濯した上で保存しておけば数十年後の同窓会でウケをとれること間違いないですね。

私は賛成派です。

ただ、私なら1000円台前半は逆に「安い」と言ってしまいそうです。

大人に見せても恥ずかしくない、きちんとしたデザイン&作りで文化祭後も街中で普通に着られるクオリティー目指そうと言い出すと思うのでベースとなるTシャツだけで1000円いっちゃいます。(笑)

100均アンダーシャツ+手書きを息子が中学生の時に運動会で見ましたが【マジメな教師の正しさで作っちゃいました】感満載で中学生でも着るほうも見るほうも、ちょっと・・・。

高校生なら折角の大義名分のある無駄遣いを楽しむのも一手だと思います。

それをするためにたくさん問題が出てくると避けるのではなく、問題を解決しようと取り組む姿勢を養うにもいい機会ですから。

「当日しか着ない」と考えてしまうところが若さですね。

当日の盛り上がりグッズとしての1000円の出費も高校生なら高くないと思います。
(休みの日にボーリングやカラオケ行って、ハンバーガー食べて帰って来たらそれ以上使ってませんか?)

それに文化祭が終わってからも男子は部屋着として使い、それを友達との話のネタとして盛り上がることも出来ますし、キレイに洗濯した上で保存しておけば数十年後の同窓会でウケをとれること間違いないですね。

私は賛成派です。

ただ、私なら1000円台前半は逆に「安い...続きを読む

QJDK5.0のjavacが見つかりません

J2SDK1.4.2から1.5にアップデートを試み、下記Sunのサイトから、
http://java.sun.com/j2se/1.5.0/ja/download.html
JDK 5.0 Update 10
をダウンロードし、インストールを実行しました。
これには、JREとコンパイラやデバッガのようなコマンド行開発ツールが含まれるとあります。

ところが、インストールディレクトリ直下にのbin ディレクトリには、コンパイラ javac がみあたりません。
1.4.2まではbin下のjavacを使用していたのですが、構成が変わったのでしょうか。またはインストールしたファイルが間違っていたのでしょうか。

よろしくお願いいたします。

Aベストアンサー

http://oshiete1.goo.ne.jp/qa1855264.html私も同様の現象がおき、ここで質問しました。JDK5.0UPDATE6のころです。

何回か試したのですが、なぜかbinフォルダにjavac.exeがなく、コンパイルできませんでした。jdk1.4のころまでは異常なくダウンロードできたんですが。。

私は書籍を1冊買い、付録のCDでインストールしました。現在は他のバージョンも出ているみたいなので、そっちをインストールしたらどうでしょうか?

では、がんばってください。

Q学祭のクラスTシャツに

学祭のクラスTシャツに
皆にメッセージ
書いてもらってるんですが
記念に塾の先生に
書いてもらってもいいでしょうかね?

何で?ってなったら
どうしようと思って…

Aベストアンサー

クラスTシャツとは、貴方個人の物なのですか?

それとも学祭でみんなで使う物ですか?

塾の先生とはあなた個人としか繋がりが無いのですよね。学祭と塾の先生は何かの理由で繋がりでもあるのですか?

その辺がわからないとお答えしにくいなあ

Qjavaは実行できてjavacは実行できない

現在Javacコマンドを使ってコンパイルしようとしているのですが、「内部コマンドまたは~」とでてコマンドが実行できません。
ただしjavaコマンドは実行できます。versionは1.6.0_27です。

以上ですがなにか気づいた点があれば、助言していただけると幸いです。

Aベストアンサー

>補足を書いていてきづいたのですがPath最後へんでしたね。
>$JAVA_HOME\bin;
>に修正しました。がjavacは相変わらずです。

Windowsなら…
%JAVA_HOME%\bin;
じゃないですか?

ただし、JAVA_HOMEが
C:\Program Files\Java\jdk1.6.0_27
となっていれば…ですが。
# セミコロンで終わらない。

Q体育祭のクラスtシャツデザイン

体育祭のクラスtシャツデザインをしなければならないのですが、なかなか良い案が浮かびません(><)

勝利の象徴の動物を描こうかと思っているのですが、どんな動物が当てはまるか、また虎は勝利の象徴の動物か教えていただきたいです。

他にも体育祭クラスtシャツにふさわしいデザインのアイデアがあればお願いします!

(条件)

・胸元に10㎝×10㎝くらいの大きさでプリントするのであまり細かすぎるデザインは出来ない
・実際存在するキャラクターはNG

Aベストアンサー

虎はたしか勇気の象徴だったと思います。ライオンは勝利の象徴です!
不死鳥とかどうですか?
どこかの王家の文様をオマージュしてもいいかも

QJDK1.6(Windows版) jar/javacコマンドが見当たりません

こんばんは。

java.sun.comから、以下のJDK1.6(Windows版)を入手し、インストール
しましたが、jar/javacコマンドが見当たりません。

jdk\bin配下や、jre\bin配下も確認しましたが見当たりませんでした。

jar/javacコマンドは、jdk1.6から無くなったのでしょうか?

ご存知の方、アドバイスお願いします。


Windows Platform - Java(TM) SE Development Kit 6 Update 1
jdk-6u1-windows-i586-p.exe

Aベストアンサー

少なくともコマンドがなくなっていることはありません。
インストールに失敗しているか、インストールしたディレクトリ以外の場所を参照しているか、ではないでしょうか。

java -version
コマンドを発行し、インストールしたソフトウェアバージョンを確認して下さい。

QクラスTシャツ

クラスTシャツのデザインを考えなければならないのですが、なにせ私は絵が描けないので(汗)困っています!!
なので、参考になるようなイラストの載っているHPを何でも良いので教えてください~!!(>_<)

Aベストアンサー

こんにちわ^^僕もクラスTシャツを頼まれたのですが、その時は何とか乗り切りました。クラスTシャツというのは、しょせん記念にっていう程度ですよね。僕が思うに金を出したのだから長く着れる物がいいです。やっぱり、着たくない物に金を出す人は居ないですよ!つまらない話になってしまいすいません。話は変わりますが、僕は白黒写真なんかをプリントしてもらいました。けっこう、評判良かったです。わからなかったら、クラスの中のお洒落男の子に聞いたらいいと思いますよ!あと、無難に行きたいのならクラス全員の名前を書く事ですね。下のHPを参考にしてくださいね。
http://www.tsutano.com/yutaka/photo/usa/
http://yooyoh.cocolog-nifty.com/photos/america/
http://www.mas-yamazaki.com/washington16.html
http://www4.ocn.ne.jp/~puropera/

Qjava:一括コンパイル後、実行できない(メインクラスXXが見つからない、ロードできない)

Javaを勉強している初心者です。現在「スッキリわかるJava入門 第2版」という本で勉強をしているのですが、第8章のオブジェクト指向でインスタンスを作るクラスファイルとメインクラスファイルを本の通り作成後、コンパイルしたのですが、実行すると
「メインクラスXXXが見つからなかったか、ロードできませんでした」というエラーとなります。原因が全く分かりません。どなたかご教授頂けないでしょうか。

ちなみに作成したjavaファイルは下記の2つになります。
①Main.java
public class Main {
public static void main(String[] args){
Hero h = new Hero();
h.name = "ミナト";
h.hp = 100;
System.out.println("勇者" + h.name + "を生み出しました!");
h.sit(5);
h.slip();
h.sit(25);
h.run();
}
}
②Hero.java
public class Hero{
String name;
int hp;
void attack(){}
void run(){
System.out.println(this.name + "は、" + "逃げ出した!");
System.out.println("GAME OVER");
System.out.println("最終HPは"+ this.hp + "でした。");
}
void sit(int sec){
this.hp += sec;
System.out.println(this.name + "は、" + sec + "秒座った!");
System.out.println("HPが" + sec + "ポイント回復した。");
}
void slip(){
this.hp -= 5;
System.out.println(this.name + "は、" + "転んた!");
System.out.println("5のダメージ!");
}
void sleep(){
this.hp = 100;
System.out.println(this.name + "は、眠って回復した!!");
}
}

これら2つのファイルを同時にコンパイルするとエラー無くClassファイルが作成されますが、それぞれ別にコンパイルすると①のMain.javaのコンパイル時に
「”Hero h = new Hero();」の部分で"シンボルが見つかりません"というエラーになります。
Heroについては②Hero.javaという別ファイルで定義しているからだと思いますが、実行時にエラーが出るのは別々にコンパイルした時にこのようにエラーが出ることが要因なのでしょうか。

ちなみに、①と②のファイルは同じフォルダ内に保存しており、コマンドプロンプトでcdを当フォルダに指定して実行を試みていますが、これが要因なのでしょうか。。

Javaを勉強している初心者です。現在「スッキリわかるJava入門 第2版」という本で勉強をしているのですが、第8章のオブジェクト指向でインスタンスを作るクラスファイルとメインクラスファイルを本の通り作成後、コンパイルしたのですが、実行すると
「メインクラスXXXが見つからなかったか、ロードできませんでした」というエラーとなります。原因が全く分かりません。どなたかご教授頂けないでしょうか。

ちなみに作成したjavaファイルは下記の2つになります。
①Main.java
public class Main {
public...続きを読む

Aベストアンサー

やってみましたが、このソースで
コンパイル、実行は全く問題ないですね。

やり方は以下の通り。
ソースのあるフォルダに cd して。

① コンパイル
javac Main.java
# 参照しているクラスは自動的にコンパイルされます。
② 実行
java Main


人気Q&Aランキング

おすすめ情報