Javaには、同じ名前のファイルにファイルごとに1つのクラスしか持たないなど、構造化されているソースファイルにいくつかの厳しい規則があります。 そして、javacは各ソースファイルをバイトコード.class
ファイルでコンパイルします。 私の質問は、Javaバイトコードにコンパイルされ、Java(Scala、Rubyのいくつかのバージョン)として厳密な構造を持たない他の言語が存在することです。ソースコードがクラスファイル階層でも生成される必要がありますない?私はJVMのへのアプローチの話ではないJavaのバイトコードはJavaの構文構造に従わなければなりませんか?
UPDATE 、私はバイトコードファイルは、Javaソースファイルの構造(各ファイルに対して1つのクラスを)従わなければならないかどうかについて話しているか、それは他の構造に開いています。ファイル指定はそれについて何も言わない。
Javaは、各ソースファイルを1つのバイトコードファイルにコンパイルしません。あなたの質問は、間違った前奏に基づいています。 – EJP
それは私が言ったことではない、私は.classファイル内の各ソースファイルを言った。 – NoImaginationGuy
EJPのポイントは、javacが各ソースファイルを少なくとも1つ、しかしおそらく複数のクラスファイルにコンパイルするということだと思います。ソース内のすべてのクラス(内部クラス、匿名クラス、すべての 'em'を含む)は、独自のクラスファイルを取得します。 – yshavit