要把源文件存成OverloadApp.java ,因为第二个类用了public。
然后编译试试

解决方案 »

  1.   

    在一个源文件中声明多个类,只能有一个类可以被声明为public,且源文件的名称以该类命名。
      

  2.   

    你这不是内部类,import java.io.*;
    class OverloadClass
    {
    public int sum(int a,int b)
    {
    return (a+b);
    }
    public int sum(int a,int b,int c)
    {
    return (a+b+c);
    }
    }

    public class OverloadApp
    {
    public static void main(String args[])
    {
    OverloadClass o=new OverloadClass();
    System.out.println("1+2=" +o.sum(1,2));
    System.out.println("1+2+3=" +o.sum(1,2,3));
    }
    }
    分别存成两个文件了。或者你就这样写
    class OverloadClass
    {
    public int sum(int a,int b)
    {
    return (a+b);
    }
    public int sum(int a,int b,int c)
    {
    return (a+b+c);
    }
    public static void main(String args[])
    {
    OverloadClass o=new OverloadClass();
    System.out.println("1+2=" +o.sum(1,2));
    System.out.println("1+2+3=" +o.sum(1,2,3));
    }
    }
    就可以了
      

  3.   

    如果你想用内部类的话,应该是这样写
    import java.io.*;
    public class OverloadApp
    {
       class OverloadClass
      {
    public int sum(int a,int b)
    {
    return (a+b);
    }
    public int sum(int a,int b,int c)
    {
    return (a+b+c);
    }
      }  public static void main(String args[])
      {
    OverloadClass o=new OverloadClass();
    System.out.println("1+2=" +o.sum(1,2));
    System.out.println("1+2+3=" +o.sum(1,2,3));
      }
    }
    然后你在试试看
      

  4.   

    //文件名OverloadApp.java
    import java.io.*;
    public class OverloadApp
    {
    public static void main(String args[])
    {
    OverloadClass o=new OverloadClass();
    System.out.println("1+2=" +o.sum(1,2));
    System.out.println("1+2+3=" +o.sum(1,2,3));
    }}
    class OverloadClass
    {
    public int sum(int a,int b)
    {
    return (a+b);
    }
    public int sum(int a,int b,int c)
    {
    return (a+b+c);
    }
    }