Java中重写和重载的区别,Java中重载和重写的区别
如何解决写爬虫IP受阻的问题?立即使用。
重写(Override)(推荐学习:java课程)
从字面上看,重写就是重新写。其实就是在子类中重写父类本身的方法。子类继承父类的原始方法,但有时子类不想完整地继承父类的方法。因此,当方法名、参数列表和返回类型(除了子类中方法的返回值是父类中方法的返回值时)都相同时,方法体被修改或重写,这称为重写。但需要注意的是,子类函数的访问修改权限不能小于父类。
例如:
公共类父亲{
公共静态void main(String[] args) {
//TODO自动生成的方法存根
Son s=new Son();
s . say hello();
}
public void sayHello() {
system . out . println( Hello );
}
}
班子延父{
@覆盖
public void sayHello() {
//TODO自动生成的方法存根
system . out . println( hello by );
}
}重载(Overload)
在一个类中,如果同名的方法具有不同的参数列表(不同的参数类型、不同的参数数量甚至不同的参数顺序),则该方法被认为是重载的。同时,重载对返回类型没有要求,可以相同,也可以不同,但不能以返回类型是否相同来判断。
例如:
公共类父亲{
公共静态void main(String[] args) {
//TODO自动生成的方法存根
父亲s=新父亲();
s . say hello();
s . say hello(‘winter shii’);
}
public void sayHello() {
system . out . println( Hello );
}
public void sayHello(字符串名称){
system . out . println( Hello name);
}
}面试时,问:重载(Overload)和重写(Override)的区别?
答案:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
重载发生在一个类中,同名的方法如果有不同的参数列表(不同的参数类型,不同的参数个数或者两者都有),就被认为是重载的;重写发生在子类和父类之间。重写要求子类的被重写方法与父类的被重写方法具有相同的参数列表,具有兼容的返回类型,比父类的被重写方法具有更好的访问能力,并且不能声明比父类的被重写方法更多的异常(Richter的替换原则)。
以上重载对返回类型没有特殊的要求,不能根据返回类型进行区分。是java重载和重写区别的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。