在Java中
  1.函数的重载
  在Java中函数的重载 可以发生在基类和派生类之间 同样要求函数名相同函数,参数列表不同,返回值类型可以相同可以不相同
1 class BaseClass
2 {
3     public static void display(int i){System.out.println("Baseclass");}
4 }
5 public class ThisClass extends BaseClass
6 {
7     public static void display(){System.out.println("ThisClass");}
8     public static void main(String[]args)
9     {
10         display();//调用派生类的函数
11         display(0);//调用基类的函数
////////////////////////////////////////////////////////////
此处并没有发生覆盖和隐藏  与C++不同
12     }
13 }
  此例中基类BaseClass 中的void display(int i);与派生类ThisClass中的void display();构成了重载
  2.函数的覆盖
  Java中函数的覆盖要求基类与派生类的 函数名、参数列表完全相同。示例如下:
1 public class PrivateOverride
2 {
3     public  void f(){System.out.println("private f()");}
4     //private void f(){System.out.println("private f()");}
5     public static void main(String[]args)
6     {
7         PrivateOverride po=new Derived();
8         po.f();//输出public f()//表明派生类函数覆盖了基类的函数
9     }
10
11 }
12 class Derived extends PrivateOverride
13 {
14         public void f(){System.out.print("public f()");}
15 }
  3.上例中 如果把基类中 f()的访问属性置为private,则输出 private f()   得出的结论是只有非private方法才可以被覆盖