java.lang.NoSuchMethodError: main
Exception in thread "main" 
Process completed.我用 Jcreator 4总是出现这个问题
如果用 Jcreator 3就不会
原因 ?
 比如说     class  A{    public static void main (String [] args) 
}
 一定要a.class跟文件A.java 相同吗 class  Employee

    int allowancenumber;
     String name;
     String honor;
     String branch;
     Employee(int a,String n,String h,String b){
      this.allowancenumber=a;
      this.name=n;
      this.honor=h;
      this.branch=b;
     
      }
   
   void display()
   {}
   
} class Manager extends Employee

     int allowance;
     int total;
   Manager(int a,String n,String h,String b,int all , int tot)
 {
      super(a,n,h,b);
      this.allowance=all;
      this.total=tot;
      }
   void display()
   
      { 
        System.out.println("yuangongxinxi"+allowancenumber+name+honor+branch+allowance+total);
         
      }
    }


class Secretary extends Employee
{   
 String addname ;
  Secretary(int a,String n,String h,String b,String add)
 {
      super(a,n,h,b);
      this.addname=add;
     
      }
  void  display(){   System.out.println("yuangongxinxi"+allowancenumber+name+honor+branch+addname);
          }
}

class MacketManager extends Employee
{   
 int allowance;
     int total;
     String area;
MacketManager(int a,String n,String h,String b,int all , int tot,String area)
    {
      super(a,n,h,b);
      this.allowance=all;
      this.total=tot;
      this.area=area;
      }
  void  dipslay()
        {  
           System.out.println("yuangongxinxi"+allowancenumber+name+honor+branch+allowance+total+area); }

}
class Em
{ public static void main(String args[])
{
Employee e = new Employee( 10001 ,"bbb" , "22121","bbbb") ;
e.display() ;
System.out.println() ;
System.out.println() ;

Manager m1 = new Manager(10002,"bdd","br","bbddd",2000,20) ;
m1.display() ;
System.out.println() ;
System.out.println() ;


Secretary s1 = new Secretary(10004,"clj","a","a","Boss") ;
s1.display() ;
System.out.println() ;
System.out.println() ;


MacketManager mm1 =new MacketManager(10006,"huangyiming","pppp","aaaa",2000 , 20,"zhonghua") ;
mm1.display() ;
System.out.println() ;
System.out.println() ;
}}
 
要用   Employee.java 为文件名,还是 Em.java     在  Employee.java一定要加public吗

解决方案 »

  1.   

    要用   Employee.java 为文件名,还是 Em.java     在  Employee.java一定要加public吗-
    文件名要用加了public的那个类名
    否则,可以随意但,运行时(java ClassName)要用真实的类名
      

  2.   

    一定要a.class跟文件A.java 相同吗 
    ...............................
    这个是肯定的。
      

  3.   

    编译时 与类名可相同也可不同 但必须与文件名相同 
    解释时 必须与类名相同
    应用程序中 除非在主类名前可使用public  若在其他类前使用 编译将出错