都不准确,也许叫覆写更准确,要理解重载的概念,重载就是函数的名字相同而参数不同并且在同一个对象中。
如果将
    class b extends a {
       public void temp() {
          System.out.println("hello world");
    }
更改成
    class b extends a {
       public void temp(String a) {
          System.out.println("hello world");
    }
也许可以算是重载,因为b类继承了A的public void temp()函数,而b中有一个名字相同但是参数不同的函数。

解决方案 »

  1.   

    过载:
    class a
    {
      public void d()
      {
        System.out.println(1111);
      }
    }class b extends a
    {
      public void d()
      {
        System.out.println(222);
      }
    }重载:
    class a
    {
      public void d()
      {
        System.out.println(1111);
      }  public void d(String s)
      {
        System.out.println(s + 222);
      }
    }不知道理解的对不.
      

  2.   

    overloading是在一个类中,方法名相同、参数并不相同(包括参数类型和参数的顺序)、返回类型可以相同;
    overriding是在子类中,与父类中方法名相同、参数类型相同(包括参数类型和参数的顺序)、返回类型可以不同;
      

  3.   

    那请问overloading必须发生在一个类中吗?在子类中行吗?
    overriding也必须发生在子类中?在同一个类中可以吗?
      

  4.   

    哎~~~
    我过载和重载总分不清谁是谁.呵呵.也不知道我上面的说错没?哪位指点一下?overloading是过载还是重载???是重载吧我觉得?学习....
      

  5.   

    override:覆盖基类的method,
    overload:一个类中有许多同名method(参数不同),重载。
      

  6.   

    overriding 在同一个类中会导致编译器不知道你要调用的是哪个方法,而出现异常。
    overloading 在子类中好像不行。
      

  7.   

    to peppi(一凡) 
    overriding:重载
    overloading:过载
    你的例子刚好写反了。
      

  8.   

    webwing(中国鹰派) 
    我记得中国鹰派是一黑客团体吧?
      

  9.   

    overloading重载,就是说在本类里面,有多个同名method(),参数并不相同(包括参数类型和参数的顺序)、返回类型可以相同;也就是本来有一个method(),而现在重载了其它的method();
    class a
    {
      public void d()
      {
        System.out.println(1111);
      }  public void d(String s)
      {
        System.out.println(s + 222);
      }
    }
    overriding覆盖:就是说子类有一个method(子类)与父类中的一个method(父类)同名,返回类型可以不同,这时method(子类)将method(父类)给覆盖了,调用的是method(子类)
    class a
    {
      public void d()
      {
        System.out.println(1111);
      }
    }class b extends a
    {
      public void d()
      {
        System.out.println(222);
      }
    }