编译出现在的问题
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吗
[解决办法]
要用 Employee.java 为文件名,还是 Em.java 在 Employee.java一定要加public吗
-
文件名要用加了public的那个类名
否则,可以随意
但,运行时(java ClassName)要用真实的类名
[解决办法]
一定要a.class跟文件A.java 相同吗
...............................
这个是肯定的。
[解决办法]
编译时 与类名可相同也可不同 但必须与文件名相同
解释时 必须与类名相同
应用程序中 除非在主类名前可使用public 若在其他类前使用 编译将出错