Java-重载与覆盖

1.重载(overload)与覆盖(override 重写)是Java多态性的表现方式。
 
 
2.方法的重载:
  1.这是编译时多态。
  2.定义多个同名方法,有不同的参数个数、参数类型、参数顺序
  3.不能通过方法的访问权限、返回值类型来进行重载。
  3.在继承中,若父类中需要重载的方法的访问权限为private,则在子类中
    如果写了同名方法,就只是一个新方法,而不会重载。


3.方法的覆盖:
  1.指父类中的方法被子类中的完全相同的方法覆盖掉,重写里面的逻辑。
  2.两个方法必须有相同的函数名、参数、返回值类型、抛出异常的类型。
  3.父类中要被覆盖的方法不能为private,否则子类只是定义了一个新方法,没有覆盖。


4.重载和覆盖的区别:
  1.覆盖是父类和子类之间的关系,是垂直的;
  2.重载是同一个类中方法之间的联系,是水平的;
  3.覆盖是一对方法之间的关系,而重载是多个方法之间的联系;

猜你喜欢

转载自blog.csdn.net/weixin_41227335/article/details/87904760