我对同一个文件作了一下改动出现了几个问题,请帮忙第一个:
 class leng
{
 public int area;
 public  leng(int a,int b,int c)
{
area=a*b*c;
}
 public leng(int a,int b)
{
area=a*b;
}
 public void getarea()
{
      System.out.println(area);
}

}
 class cate
{
public static void main(String args[])
{
System.out.print("三个数");
leng a=new leng(1,2,3);
a.getarea();
System.out.print("二个数");
leng b=new leng(1,2);
b.getarea();
}}
第二个
public  class leng
{
 public int area;
 public  leng(int a,int b,int c)
{
area=a*b*c;
}
 public leng(int a,int b)
{
area=a*b;
}
 public void getarea()
{
      System.out.println(area);
}

}
 class cate
{
public static void main(String args[])
{
System.out.print("三个数");
leng a=new leng(1,2,3);
a.getarea();
System.out.print("二个数");
leng b=new leng(1,2);
b.getarea();
}}
第三个 class leng
{
 public int area;
 public  leng(int a,int b,int c)
{
area=a*b*c;
}
 public leng(int a,int b)
{
area=a*b;
}
 public void getarea()
{
      System.out.println(area);
}

}
public  class cate
{
public static void main(String args[])
{
System.out.print("三个数");
leng a=new leng(1,2,3);
a.getarea();
System.out.print("二个数");
leng b=new leng(1,2);
b.getarea();
}}
为什么第三个可以运行前两个不能运行啊
请指教

解决方案 »

  1.   

    晕,你得把文件名告诉我们呀,如果源文件名为 leng.java,那么就是你碰到的情况了。为什么呢?JAVA中的源文件最多只允许一个public class,或者不是public的。另外,main方法不在与文件名同名的类中,是不能被JVM自动执行的(应该可以编码调用)。明白吗?
      

  2.   

    我的文件的名字是这样的cate.java
    我知道一个文件中最多只能有一个 public   ,那么第二种情况是为什么呢
      

  3.   

    类如果被声明为PUBLIC,那么它也必须作为文件的保存名.
    一个文件里面只允许有一个类被声明为PUBLIC