java

导航

Java重载和重写的区别?

来源 :中华考试网 2020-12-30

  1.定义区别:

  ①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。

  ②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。

  2.类的关系区别

  覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。

  3.产生方法区别

  覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。

  4.参数列表要求区别

  覆盖要求参数列表相同;重载要求参数列表不同。

  5.调用方法区别

  覆盖关系中,调用方法体是根据对象的类型决定;而重载关系是根据调用时的实参表与形参表选择方法体的。

分享到

您可能感兴趣的文章