No.4ベストアンサー
- 回答日時:
前の回答では答えになっていなかったので補足させてもらいます。
申し訳ないです。
javaのコードをコンパイルすると、classごとにコードを機械語に翻訳したものがclassファイルとして生成されます。
しかし、ここで問題になるのが、classの中にclassがあったら(内部クラス)どうするの?ということです。
ここで同じAbc.classにするわけにはいかないので、Abc$1.classとすることでAbc.classの中にあるけど、別のクラスであることを明記的に区別しているのではないかと思われます。
>ここで同じAbc.classにするわけにはいかないので、Abc$1.classとすることでAbc.classの中にあるけど、別のクラスであることを明記的に区別しているのではないかと思われます。
なるほど、別のクラスであることを明示的に区別(Abc$1.class)することだったのですね。あえて内部クラス名を書かないということですね。Tacosanの「名前のないクラス」によってAbc$1.classということになるというのが、気がかりだったのですが、わかりました。
ありがとうございます。
No.3
- 回答日時:
本当にそのようなクラスファイルができるかどうかはソース Abc.java を見ないと分かりませんが....
さておき, これは #1 で言われるようにクラス Abc の内部クラスですね. クラス A が内部クラス B をもつ場合, この内部クラス B に対するクラスファイルは A$B.class という名前になります. でもって今の場合は Abc$1.class などとなっていますが, これは「名前のない内部クラス」に対応します. 当たり前ですが「1 という名前の内部クラス」ではありません.
ソースファイル上で最初にある「名前のない内部クラス」に対するクラスファイルが Abc$1.class, 2番目のやつが Abc$2.class, という感じだったかな.
No.1
- 回答日時:
Names of nested classes are transformed as necessary by the compiler to avoid conflicts with identical names in other scopes.
ネストされたクラスの名前はコンパイラにより必要に応じて他のスコープの識別子との衝突を区別するよう,変換される。
Names are encoded to the virtual machine by taking their source form, qualified with dots, and changing each dot `.' after a class name into a dollar sign `$'.
(クラスの)名前は仮想マシンによって
ソース内でのドットで修飾されている形をとったものに対して,各クラス名の後ろにつくドットをダラーに変更したものへとエンコードされる。
(後略、っつーか理解できるけどうまく日本語にできなかった)
公式ドキュメントを調べたわけじゃないが,上の記事ではそう紹介されている
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 スカラー三重積 [ABC]の括弧[ ]をグラスマン記号と言うと思います。 そこで、一般に[ABC]を 1 2023/07/20 10:24
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- 数学 交代式と整数問題 17 2023/03/06 16:52
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- 数学 弱いABC予想でABCトリプルが有限個になって何の意味がありますか? 13 2022/05/15 03:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクラでPythonのプログラミ...
-
プログラミングの問題です。大...
-
JAの支部?地域の農協のカード...
-
配列にnullを代入すると、null...
-
Eclipse 動的プロジェクトで404...
-
改行含むテキストの表示の仕方
-
JaneStyleのスレッドが見れなく...
-
リレーションエンティティクラ...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
-
下記問題の答えが"D"になる意味...
-
キー入力について
-
jdk17.06のインストーラーが起...
-
複数TBLのオブジェクトを1つの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
配列にnullを代入すると、null...
-
マイクラでPythonのプログラミ...
-
JAの支部?地域の農協のカード...
-
eclipse実行ができない
-
Eclipse 動的プロジェクトで404...
-
下記問題の答えが"D"になる意味...
-
正規表現について質問です。 カ...
-
list の空は [] ってあわらすのに
-
「main メソッドを持つクラスが...
-
あんまりお料理しないのに台所...
-
JaneStyleのスレッドが見れなく...
-
jdk17.06のインストーラーが起...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
キー入力について
-
CSV出力を画面から選択したデー...
-
Processingでマウスクリックで...
-
次のhtml・cssでspan内の文字を...
-
JSFタグのfタグとは
おすすめ情報