学习目标:1.会区分方法是否构成重载关系
2.会自己定义重载方法
方法重载的含义
所谓方法重载即:在同一个类中,定义了多个同名的方法,这些同名的方法,这些同名的方法具有同种功能,且每个方法中具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。
简单记:同一个类中,方法名相同,参数不同的方法,与返回值无关。
参数不同:个数不同、类型不同、顺序不同
例1:
public class MethodDemo{
public static int sum (int a, int b){
return a + b;
}
public static int sum (int a, int b, int c){
return a + b + c;
}
}
就构成了重载关系
判断依据:1.在同一个类中,方法名相同
2.参数个数不一样
例2:
public class MethodDemo{
public static void fn (int a, double b){
//方法体
}
public static void fn (double a, int b){
//方法体
}
}
也构成重载关系
注意:顺序不同可以构成重载,但是不建议!
学会判断是否构成重载
与 void show(int a,char b ,double c){ 构成重载的有:
A.void show ( int x, char y, double z){...}
B.int show ( int a, double c, char b){...}
C.void show ( int a, double c, char b){...}
D.boolean show ( int c, char b ){...}
E.void show ( double c){...}
F.double show ( int x, char y, double z){...}
G.void shows () {...}
解析:
A. 不构成,因为 形参列表中的形参类型或个数或顺序 ,没有一样是不同的
B. 构成,因为 形参类型不同
C. 构成,因为 形参列表中 顺序不同
D. 构成,因为 形参列表中的形参类型或个数或顺序 至少有一样是相同的
E. 构成,因为满足 形参列表中的形参类型或个数或顺序 至少有一样是相同的
F. 不构成,因为 形参列表中的形参类型或个数或顺序 ,没有一样是不同的 ,虽然返回值是double ,但与构成重载无关
G. 不构成,因为 方法名不同, 构成重载要求方法名必须相同
(题目链接https://blog.csdn.net/m0_57448314/article/details/126651943)
学会自己定义方法重载
练习:方法重载
需求:使用方法重载的思想,设计比较两个整数是否相同。
要求:兼容全整数类型(byte,short,int,long)
class Test{
public static void main(String[] args){
//需求:使用方法重载的思想,设计比较两个整数是否相同的方
//要求:兼容全整数类型(byte,short,int,long)*/
//调用
compare(10,20);
}
//会把相同功能的方法名起成一样的名字
//好处1:定义方法的时候可以不用那么多的单词了
//好处2:调用方法的时候也不需要那么麻烦了。
public static void compare(byte b1, byte b2){
System.out.println(b1 == b2);
}
public static void compare(short s1, short s2){
System.out.println(s1 == s2);
}
public static void compare(int i1, int i2){
System.out.println(i1 == i2);
}
public static void compare(long l1, long l2){
System.out.println(l1 == l2);
}