Java学习(6) | 面向对象-什么是方法的重写与重载?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42587283/article/details/89225377

目录

一、什么是方法的重写

二、什么是方法的重载

三、总结

 


一、什么是方法的重写

重写@Override,是子类对父类的允许访问的方法进行重新编写,形参与返回值都不能改变。

class   people{

    public  void printHallow(String name){
        System.out.print("hallow");
    }

}



class  HapplyPeople extends people{

    public void printHallow(String name){
        System.out.print("no");
    }

}
//没重写时调用HapplyPeople 的printHallow方法输出的是hallow,继承之后输出的是no

方法重写的规则

  • 如果父类方法申明了一个异常,子类只能申明这个异常的子类;例如父类抛出Exception异常,那么子类只能抛出IOException。

二、什么是方法的重载

 

重载@Overload,意思是在一个类里面,方法名相同但是传进去的参数必须不同,返回的参数也可以是不同的。

方法重载的规则

  • 被重载的方法必须改变参数列表【参数类型、位置或者个数不一样】

  • 被重载的方法可以更改访问修饰符

  • 方法只能在同一个类或者在子类中被重载

代码如下

​​​​​​​public class  Test {

  public  void TestOverload(String a ,int b){
      System.out.println("最开始的方法");
  }


  public String TestOverload(int b ,String a ){
      return "改变传入参数的顺序";
  }


  public  void TestOverload(String a ,int b, double c){
      System.out.println("传进来三个参数");
  }


  private void TestOverload(){
      System.out.println("更改访问修饰符");
  }

}

三、总结

 

重写是父类与子类继承关系之间的多态性的体现。

重载可以理解成多态的具体表现形式。

猜你喜欢

转载自blog.csdn.net/weixin_42587283/article/details/89225377