在一个.java文件里,如果有几个class(其中一个是public,并且与文件名相同),就会生成几个.class,都是必须的。

解决方案 »

  1.   

    因为在你的x.java中存在内嵌类的原因。
    如我们经常在写事件监听时:
    frm1.addWindowListener(new WindowAdapter(){   
        ...
        public void windowClosing(WindowEvent e) {
          ...
    }
    });
    就会生成一个缺省命名的内部类。
      

  2.   

    你一定是个初学者,
    产生这种情况是因为 你的 class 文件中包括了 两个内部类 
    而内部类分为 一般内部类 和 匿名内部类 
    编译后会产生 形如    主类名$x.class 的 附加 class 文件
      

  3.   

    看一下《JAVA编程思想》,里面有内部类的说明。