JAVA 方法重载

package 方法;

public class Demo4 {
/**
* 方法重载:
* 优点:
* 1.代码整齐美观,减少代码量
* 2.功能相似的,可以让方法名相同,更易于以后的代码编写
*在Java语言中,怎么进行方法区分?
* 首先Java编译器会通过方法名进行区分
* 但在JAVA语言中允许方法名相同的语言储蓄
* 如果方法名相同的情况下,编译器会通过方法的参数类型进行方法的区分
*/
public static void main(String[] args) {
System.out.println(sum(10,20));//类型匹配
System.out.println(sum(10L,20L));
System.out.println(sum(10.0,20.0));
}
//定义一个计算int类型数据的求和方法
public static int sum(int a,int b){
System.out.println("int求和");
return a+b;
}
//定义一个计算int类型数据的求和方法
public static long sum(long a,long b){
System.out.println("long求和");
return a+b;
}
//定义一个计算int类型数据的求和方法
public static double sum(double a,double b){
System.out.println("double求和");
return a+b;
}

}
package 方法;

/**方法重载(overload)
* 什么时候需要使用方法重载
* 在同一个类中,如果功能1和功能2相似,那么可以把他们方法名一致,这样代码既美观
* 又便于后期方法编写(方便使用)
* 注意:方发重载不要随便使用,如果两个功能不相似,没关系,此时两个方法使用重载的话,
* 会导致跟麻烦,无法进行方法功能区分
*
* 什么时候代码会发生方法重载
* 条件1:在同一个类中,不在同一个类中,不叫方法重载。参数顺序不同,也算不同
* 条件2:方法名相同
* 条件3:参数列表相同
* 参数的个数不同算不同
* 参数的类型不同算不同
* 参数的顺序不同算不同
* 只要同时满足以上三条条件,那么我们可以认定方法和方法之间发生了重载机制
* 注意:不管代码怎们写。最终一定让java编译器和好的区分这两个方法
*/

public class Demo5 {
public static void main(String[] args) {
m1();
m1(100);

m2(10,3.1415926);
m2(3.1415926,10);

m3(100);
m3(3.1415926);
}
public static void m1(){
System.out.println("m1无参数的执行");
}
//这个方法的参数个数和上一个的方法参数个数不同
public static void m1(int a){
System.out.println("m1有一个参数的执行");
}

public static void m2(int x,double y){
System.out.println("m2(int x,double y)");
}
//参数顺序不同,也算不同
public static void m2(double y,int x){
System.out.println("m2(double y,int x)");
}

public static void m3(int x){
System.out.println("m3(int x)");
}
//参数类型不同
public static void m3(double d){
System.out.println("m3(double d)");
}
}
posted @ 2021-07-14 17:53  玄斯辰  阅读(67)  评论(0)    收藏  举报