java 的“重载” 和“ 重写” 是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/06/30 07:51:03
请大虾指点一下;我学“重载” 和“ 重写” 的时候没有怎么学好;现在都一点不理解;
都多多指点!Thanks!

重载:多个方法享有相同的名字;方法的参数必须不同,或者是参数的个数不同,或者是参数的类型不同;返回类型不能用来区分重载。
重写:JAVA运行时系统根据调用该方法的实例,来决定调用哪个方法,对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同

重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法
比如
File(File parent, String child)
File(String pathname)
File(String parent, String child)
File(URI uri)
这样就是 重载,
而参数类型和个数不变,返回值也不变为重写

重载 在本类中多态的一种体现
一般用来完成一类功能的方法,根据参数不同,方法也稍有不同

重写 是子类重写父类的方法,子类在调用该方法时就使用本类的方法
如果子类没有重写父类的方法,那么子类调用该方法的时候使用的是父类的方法