emc易倍体育·首页|官网app下载

   

中国  

English  

新闻中心

你的位置:emc易倍体育·首页|官网app下载 > 新闻中心 > emc易倍体育官网 Java中方法重载和方法重写的区别,详细描述,从介绍到语法再到区别

emc易倍体育官网 Java中方法重载和方法重写的区别,详细描述,从介绍到语法再到区别

时间:2022-12-01 11:28 点击:148 次

emc易倍体育官网 Java中方法重载和方法重写的区别,详细描述,从介绍到语法再到区别

一、方法重载emc易倍体育官网

1.什么是方法重载?

Java中方法的重载,就是在一个类中,有相同的方法名称,但形参不同的方法

2.方法重载的规则

*在同一个类中

*方法名相同

*参数不同

*个数不同

*类型不同

*顺序不同

简单来说:同一个类中,方法名相同,参数不同

注意:是否为重载关系,只看方法名和参数,跟返回值无关

案例1(参数个数不同)

publicclassMain{

publicstaticvoidmain(String[]args){

}

publicstaticvoidadd(inta,intb){

}

publicstaticvoidadd(inta,intb,intc){

}

}

执行效果

案例2(参数类型不同)

publicclassMain{

publicstaticvoidmain(String[]args){

}

publicstaticvoidadd(longa,intb){

}

publicstaticvoidadd(inta,intb){

}

}

执行效果

案例3(参数顺序不同)

publicclassMain{

publicstaticvoidmain(String[]args){

}

publicstaticvoidadd(longa,intb){

}

publicstaticvoidadd(intb,longa){

}

}

执行效果

注意

这里的顺序不同,一定要是不同类型的顺序不同,

而不能是同类型的顺序不同而已,要不然就不是重载会报错

例子

publicclassMain{

publicstaticvoidmain(String[]args){

}

publicstaticvoidadd(inta,intb){

}//报错

publicstaticvoidadd(intb,inta){

}//报错

}

3.方法重载的作用

*统一方法名,提高方法的兼容性和灵活性,方便调用者使用方法

*JDK中大量使用了方法重载,比如println方法就是重载,目的是调用println时只需要记住一个名字,使用方便

二、方法重写

1.什么是方法重写?

*子类中对父类已有的方法重新实现功能

*当子类和父类有相同的功能,但父类的该功能不满足子类的需求时,子类可以重写父类中的方法。

案例

publicclassAnimal{

publicvoidrun{

System.out.println("运动");

}

}publicclassDogextendsAnimal{

//方法重写:在继承父类的方法基础上,进行方法的升级改造

@Override//注解,检查重写的语法是否正确,如果错误会报错

publicvoidrun{

System.out.println("四条腿跑");

}

}

2.方法重写的前提

要有继承关系,在子类可以重写方法

3.方法重写的规则

*方法名、参数列表、返回值类型都保持不变,和父类一样

*子类重写的方法,访问权限要大于等于父类方法的权限

private->default->protected->public

*私有方法和静态方法不能被重写emc易倍体育官网

tips:@Override注解可以检验重写格式

案例

三、两者的区别

方法重载方法重写

概念同一个类中,方法名相同,参数不同方法名、参数列表、返回值类型都保持不变,和父类一样

范围同一个类中要有继承关系,在子类可以重写方法

限制没有访问限制*子类重写的方法,访问权限要大于等于父类方法的权限

*私有方法和静态方法不能被重写

官网:www.djzhx.com

邮箱:c11f06@qq.com

联系:161848402

Powered by emc易倍体育·首页|官网app下载 RSS地图 HTML地图

备案号:陕ICP备08003681号-1
emc易倍体育·首页|官网app下载