你的文件名和类名不一致文件名叫cm.java那就应该是这样的:
public class cm{
  public static void main(String args[]){
    ......
  }
}

解决方案 »

  1.   

    首先,main()必须是static型的,因为它要在创建它所在的类的对象之前就被调用。
    另外,main()不能在一个inner class中定义。例如你的CTest类,就是cmb类的inner class。
    最后,你要清楚,跟类同名的方法才是构造方法!!!!
      

  2.   

    对了,还有,含有main()的类名必须与文件名相同,且声明为public
      

  3.   

    内部类,故名思义,要写在一个类的内部啊。
    上面那段用不着内部类。
    改一改:
    public class CM
    {
     int x;
     double y;
     CM(){x=0;y=0.0;}
     CM(int i){x=i;}
     CM(double d) {y=d;}
     CM(int i,double d){x=i;y=d;}
     void show() 
     {System.out.println("x="+x+",y"+y);} public static void main(String args[])
      {
       CM cm1=new CM();
       CM cm2=new CM(2);
       CM cm3=new CM(3.0);
       CM cm4=new CM(7,1.5);
       cm1.show();
       cm2.show();
       cm3.show();
       cm4.show();
      }
    }保存为CM.java,然后编译运行
      

  4.   

    如果去掉class的public属性,传说也能编译通过,但是我用jc没有实现我想如果这样,那个cm$应该是系统自动加上的
      

  5.   

    去掉class 的public属性确实可以编译通过