こんにちは。

"Tanaka-Qtaro-Yasuhiro" <tanaq@ca2.so-net.ne.jp> wrote in message news:bqkmrt$em5$1@news-wst.ocn.ad.jp...

> 
> 正しい J2EE仕様はよくわかりませんが、Oracle8iのEJBで「$」が禁止されて
> いるのは、内部クラスがコンパイルされるとクラスファイル名が
> 「包含クラス$内部クラス.class」
> となることと、何か関係があるんじゃないでしょうか?

確かに内部クラスを使うと $ を
はさんだ状態のクラスファイルが生成されますが,
JAVAにおいては $ は記号っぽいですが 英数字と同じく
普通にオブジェクトの識別子に使える文字の一つです。
なので いきなり次のような記述にしてもコンパイルは通ります。

interface A { }
class B$13 implements A { }

Oracleのそれも同じように実装されているのかもしれません。