java的重载 和重写

请看如下代码:

父类:

1 public class FU {
2     public  void show(){
3         System.out.println("this is fu!");
4     }
5 }

子类:

1 public class ZI  extends  FU{
2     public  void  show(){
3         System.out.println("this is ZI!");
4     }
5     public int   show(int a){
6         return 2;
7     }
8 } 

测试类:

 1 public class Test {
 2     public static void  main(String ...args){
 3         FU  fu=new ZI();
 4         fu.show();
 5         ZI zi=new ZI();
 6         int a=zi.show(2);
 7         zi.show();
 8         System.out.println(a);
 9     }
10 }

输出结果:

在子类ZI中,show方法既是重载方法也是父类的重写方法。

重载:

方法的区别是签名,即方法名字和参数列表。重载需要相同的名字和不同的参数列表。如果参数列表相同则报错,定义相同的方法。

根据参数列表的不同,调用不同的方法,重载也是类的多态的体现。

重写:

1:重写是在子类中体现,该类必须要继承。

2:方法的名字和参数需要和父类保持一致。

3:在子类中,重载方法也可以是重写,如上所示。

原文地址:https://www.cnblogs.com/evilliu/p/7715888.html