JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

区分方法重载和重写,解释其发生在运行时还是编译时

wys521 2024-11-09 15:05:20 精选教程 25 ℃ 0 评论
  • 方法重载

方法的重载是用来解决同一个类中,同样的方法名,但是拥有不同的参数类型的情况。参数类型不同包括,参数长度不一致或者参数类型不一致。如下:

方法的重载发生在编译时。在编译过程中,编译器必须根据参数类型以及长度来确定到底是调用的哪个方法,这个也是Java编译时多态的体现。比如如果调用如下方法

我们可以确定他调用的是String类型的参数方法,参数只有一个,那么在编译时它就确定了调用的是方法一:method #1

方法重载其实是为不同的数据(参数类型)以不同的方式(参数长度)来实现同样的操作

  • 方法重写

方法重写是指父子类(两个类)中,拥有同样的方法名和参数(类型和长度)的情况,子类会重写并覆盖父类的实现。如下所示

方法重写发生在运行时。因为在编译时,编译器是无法知道我们到底是调用父类的方法还是子类的方法,相反的,只有在实际运行的时候,我们才知道应该调用哪个方法。这个也是java运行时多态的体现。如下用例:

在创建过程中,只有在运行过程中,我们才知道实际上到底是A还是B去调用,所以方法重写是在运行时才确定的,JVM需要去知晓并做相关处理。

方法重写其实是为不同的对象(父子类)以同样的方式(参数长度)来实现同样的操作

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表