JAVA中方法重写与重载的区别

78 阅读1分钟

Java中方法重写与重载的区别

一句话描述清楚:

重写注解:@Override 重载注解:@Overload

  1. 方法的重载是方法名相同,方法返回值和修饰符可以不同,方法的形式参数增加或减少,同名方法根据不同传参来处理不同逻辑
  2. 方法的重写是方法名相同,方法返回值相同,修饰符相同.方法的形式参数相同,方法体被重写,方法体中的代码功能有所不同,子类对父类方法重新改造,外部样子不能改变,内部逻辑可以改变

代码示例:

  1. 方法重写
  public void hello(String name){
       System.out.println("你好" + name);
   }

   //重写了hello方法,方法体中的代码实现的功能已改变
   public void hello(String name){
       System.out.println("你好,我叫" + name);
   }
  1. 方法重载
   public void hello(String name){
        System.out.println("你好" + name);
    }
    
    //形式参数不同,实现的逻辑不同
    public void hello(String name,int age){
        System.out.println("你好我叫" + name + "今年" + age + "岁");
    }

    //形式参数不同,实现的逻辑不同,并且方法返回值不同,且修饰符不同
    private String hello(String name,int age,String sex){
      return  "你好我叫" + name + "今年" + age + "岁"+"性别"+sex;
    }