【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别

文章目录

  • 前言
  • 一、方法重载
    • 🌊什么是方法重载?
    • 🌊 方法重载的规则
      • ⭐ 案例1(参数个数不同):
      • ⭐ 案例2(参数类型不同):
      • ⭐ 案例3(参数顺序不同):
      • ⚡注意⚡
      • ⚡注意事项演示⚡
    • 🌊 方法重载的作用
  • 二、方法重写
    • 🍂 什么是方法重写?
      • 🌟 案例演示
    • 🍂方法重写的前提
    • 🍂 方法重写的规则
      • 🌟 案例演示
  • 三、两者的区别
  • 作者:KJ.JK

前言

                 本文介绍JavaEE中的方法重载和方法重写的区别

🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
 
🍂个人博客首页: KJ.JK
 
欢迎大家点赞👍收藏💖评论💬关注🔒
 
💖源码获取 | 💻学习交流 | 🤝商务合作 | 💨私信作者


一、方法重载


🌊什么是方法重载?

           Java中方法的重载,就是在一个类中,有相同的方法名称,但形参不同的方法

🌊 方法重载的规则

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

⭐ 案例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){

    }
    
}



【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别


⭐ 案例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){

    }

}


【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别


⭐ 案例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){

    }

}



【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别


⚡注意⚡

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

⚡注意事项演示⚡

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){

    }   //报错

}


【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别


🔥系列热门专栏🔥:
 
⚡《JavaEE进阶序列 | 从小白到工程师》系列文章⚡
 
⚡《JavaEE项目实战》系列文章⚡
 
⚡《JavaSwing项目合集》系列文章⚡
 
⚡《数据分析中的pandas》系列文章⚡


🌊 方法重载的作用

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

二、方法重写


🍂 什么是方法重写?

          * 子类中对父类已有的方法重新实现功能

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

🌟 案例演示

public class Animal {

    public void run(){
        System.out.println("运动");
    }
}

public class Dog extends  Animal{


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


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


🍂方法重写的前提

               * 要有继承关系,在子类可以重写方法

🍂 方法重写的规则

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

🌟 案例演示

【JavaEE进阶系列 | 从小白到工程师】方法重载和方法重写的区别,详细描述,从介绍到语法再到区别


三、两者的区别

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

作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

相关文章

暂无评论

暂无评论...