Java中方法重载和方法重写的区别,详细描述,从介绍到语法再到区别

Java中方法重载和方法重写的区别,详细描述,从介绍到语法再到区别,第1张

目录
  • 一、 方法重载
    • 1.什么是方法重载?
    • 2.方法重载的规则
      • 案例1(参数个数不同)
      • 执行效果
      • 案例2(参数类型不同)
      • 执行效果
      • 案例3(参数顺序不同)
      • 执行效果
        • 注意
    • 3.方法重载的作用
  • 二、方法重写
    • 1.什么是方法重写?
      • 案例
    • 2.方法重写的前提
    • 3.方法重写的规则
      • 案例
  • 三、两者的区别
  • 作者:KJ.JK


一、 方法重载 1.什么是方法重载?
         Java中方法的重载,就是在一个类中,有相同的方法名称,但形参不同的方法

2.方法重载的规则
                 * 在同一个类中
                 
                 * 方法名相同
                 
                 * 参数不同
                       
                         *个数不同
                        
                         *类型不同
                        
                         *顺序不同
                         
   简单来说:同一个类中,方法名相同,参数不同         
   
 注意:是否为重载关系,只看方法名和参数,跟返回值无关

案例1(参数个数不同)
public class Main {
    public static void main(String[] args) {
        
    }
    
    
    public  static  void  add(int a,int b){
        
    }

    public  static  void  add(int a,int b,int c){

    }
    
}

执行效果


案例2(参数类型不同)
public class Main {
    public static void main(String[] args) {

    }


    public  static  void  add(long  a,int b){

    }

    public  static  void  add(int a,int b){

    }

}

执行效果


案例3(参数顺序不同)
public class Main {
    public static void main(String[] args) {

    }


    public  static  void  add(long  a,int b){

    }

    public  static  void  add( int b,long a){

    }

}

执行效果


注意
     这里的顺序不同,一定要是不同类型的顺序不同,
     而不能是同类型的顺序不同而已,要不然就不是重载会报错

例子

public class Main {
    public static void main(String[] args) {

    }


    public  static  void  add(int   a,int b){

    }    //报错

    public  static  void  add( int b,int a){

    }   //报错

}


3.方法重载的作用
            * 统一方法名,提高方法的兼容性和灵活性,方便调用者使用方法
                
            * JDK中大量使用了方法重载,比如println方法就是重载,目的是调用println时只需要记住一个名字,使用方便

二、方法重写 1.什么是方法重写?
          *子类中对父类已有的方法重新实现功能

          *当子类和父类有相同的功能,但父类的该功能不满足子类的需求时,子类可以重写父类中的方法。

案例
public class Animal {

    public void run(){
        System.out.println("运动");
    }
}
public class Dog extends  Animal{


    //方法重写:在继承父类的方法基础上,进行方法的升级改造


    @Override   //注解,检查重写的语法是否正确,如果错误会报错
    public void run() {
        System.out.println("四条腿跑");
    }
}

2.方法重写的前提
           要有继承关系,在子类可以重写方法

3.方法重写的规则
         *方法名、参数列表、返回值类型都保持不变,和父类一样
         
         *子类重写的方法,访问权限要大于等于父类方法的权限
                    private -> default -> protected -> public
                    
         *私有方法和静态方法不能被重写   
         
         
             tips: @Override注解可以检验重写格式

案例


三、两者的区别
                                方法重载                                 方法重写
                            
         概念            同一个类中,方法名相同,参数不同        方法名、参数列表、返回值类型都保持不变,和父类一样
                
         范围                   同一个类中                           要有继承关系,在子类可以重写方法
         
         限制                  没有访问限制                        *子类重写的方法,访问权限要大于等于父类方法的权限
         
                                                                  *私有方法和静态方法不能被重写      

作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/786584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存