Java如何识别同名方法_如何区分Java中的方法重载和重写

本文介绍了Java中的方法重载和重写。方法重载发生在同一类中,要求方法名相同但参数列表不同,与返回值类型无关。参数列表的不同体现在参数个数、类型上。而方法重写则发生在继承关系中,子类对父类同名方法的实现进行覆盖,要求方法名、形参列表一致,并遵循访问权限、返回值类型和异常类型的规则。通过示例代码展示了重载和重写的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先说的是重载:

方法的重载

* 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

* 参数列表不同:

* A:参数个数不同

* B:参数类型不同

* C:参数的顺序不同(不算重载 报错)

*如何区分:

参数个数不一样 或者参数的类型不一样

重载和返回值类型无关 和参数名无关

技巧:重载看方法名和参数列表

1 public classMethodDemo3{2 /*方法的重载3 * 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。4

5 * 参数列表不同:6 * A:参数个数不同7 * B:参数类型不同8 * C:参数的顺序不同(不算重载 报错)9 *如何区分:10 参数个数不一样 或者参数的类型不一样11 重载和返回值类型无关 和参数名无关12 技巧:重载看方法名和参数列表13 */

14 //主方法调用

15 public static voidmain(String[] args){16 System.out.println(getSum(1,2,3));17 }18 //包含两个参数

19 public static int getSum(int a,intb){20 System.out.println("两个参数");21 return a+b;22 }23 //包含三个参数

24 public static int getSum(int a,intb){25 System.out.println("三个参数");26 return a+b+c;27 }28 //重载跟数据类型无关,这个是double型

29 public static double getSum(double a,double b,doublec){30 System.out.println("三个参数");31 return a+b+c;32 }33 }

重写:

在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。

1.目前的问题:父类的功能无法满足子类的需求。

2.方法重写的前提: 必须要存在继承的关系。

3.方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。

4.什么是时候要使用方法的重写:父类的功能无法满足子类的需求时。

1.方法重写时, 方法名与形参列表必须一致。

2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。

3.方法重写时,子类的返回值类型必须要小于或者 等于父类的返回值类型。

4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。 Exception(最坏) RuntimeException(小坏)

父类:public classfather {voideat(){

System.out.println("父亲吃了");

}

}

子类继承父类:public class son extendsfather{voideat() {

System.out.println("儿子吃了");

}

}

重写:public classchongxie {public static voidmain(String[] args) {

father father= newfather();

son son= newson();

father.eat();

son.eat();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值