java 重写和重载的区别

重写:重写是子类的方法覆盖父类的方法,有两个重要特点  

     1.子类方法名和参数类型、个数必须和父类一样。

     2.如果有返回值,则返回值类型也必须和父类一样.

 1 //父类
 2 public class Bird(){
 3    public String getInfo(){
 4     return "父类中的getInfo方法" 5     }
 6  }
 7 
 8 //子类重写父类的getInfo方法
 9 
10 public class Littlebird extends Bird{
11     @Override
12      public String getInfo(){
13      return "子类中的getInfo方法"14     }
15 }

重载:重载是为了在类中,通过参数类型和个数不同,让一个方法可以有多种实现方式。

   重载时。方法名必须一样,参数类型个数和返回值则无要求。

 1 public class Plus{
 2     public int plus(int a,int b){  
 3         return a+b;}
 4     public int plus(int a,int b,int c){    //plus方法重载
 5         return a+b+c;}
 6     public double plus(double a,double b){  //plus方法重载
 7         return a+b;}
 8     
 9    public static void main(String args[]){
10      Plus twoInt = new Plus();
11      Plus ThreeInt = new Plus();
12      Plus twoDouble = new Plus();
13      System.out.println("调用的是plus方法1,结果是:"+twoInt.plus(5,6));       //参数是两个int值时默认调用plus方法1
14      System.out.println("调用的是plus方法2,结果是:"+ThreeInt.plus(5,6,8));     //参数是三个int值时默认调用plus方法2
15      System.out.println("调用的是plus方法3,结果是:"+twoDouble.plus(5.42,6.62)); //参数是两个double值时默认调用plus方法3
16    }
17 }

重写与重载的区别在于:

重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。

用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般.

 

posted @ 2017-07-09 14:41  Java_Panda  阅读(210)  评论(0编辑  收藏  举报