方法重载和重写实现的功能一样(区分方法重载和重写)
方法重载和重写实现的功能一样(区分方法重载和重写)在创建过程中,只有在运行过程中,我们才知道实际上到底是A还是B去调用,所以方法重写是在运行时才确定的,JVM需要去知晓并做相关处理。方法重写发生在运行时。因为在编译时,编译器是无法知道我们到底是调用父类的方法还是子类的方法,相反的,只有在实际运行的时候,我们才知道应该调用哪个方法。这个也是java运行时多态的体现。如下用例:方法重载其实是为不同的数据(参数类型)以不同的方式(参数长度)来实现同样的操作方法重写方法重写是指父子类(两个类)中,拥有同样的方法名和参数(类型和长度)的情况,子类会重写并覆盖父类的实现。如下所示
-
方法重载
方法的重载是用来解决同一个类中,同样的方法名,但是拥有不同的参数类型的情况。参数类型不同包括,参数长度不一致或者参数类型不一致。如下:
方法的重载发生在编译时。在编译过程中,编译器必须根据参数类型以及长度来确定到底是调用的哪个方法,这个也是Java编译时多态的体现。比如如果调用如下方法
我们可以确定他调用的是String类型的参数方法,参数只有一个,那么在编译时它就确定了调用的是方法一:method #1
方法重载其实是为不同的数据(参数类型)以不同的方式(参数长度)来实现同样的操作
-
方法重写
方法重写是指父子类(两个类)中,拥有同样的方法名和参数(类型和长度)的情况,子类会重写并覆盖父类的实现。如下所示
方法重写发生在运行时。因为在编译时,编译器是无法知道我们到底是调用父类的方法还是子类的方法,相反的,只有在实际运行的时候,我们才知道应该调用哪个方法。这个也是java运行时多态的体现。如下用例:
在创建过程中,只有在运行过程中,我们才知道实际上到底是A还是B去调用,所以方法重写是在运行时才确定的,JVM需要去知晓并做相关处理。
方法重写其实是为不同的对象(父子类)以同样的方式(参数长度)来实现同样的操作