package myJavaNotes;
/**
*@author 康爸爸
*@date: 2020年1月24日 上午02:17:38
*
*/
public class MethodOverloading {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*方法:一段用来完成特定功能的代码片段,类似于其他语言的函数
方法声明格式:
[修饰符1 修饰符2 ....] 返回值类型 方法名(形式参数){
java语句块;
......
}
方法的调用:
对象名.方法名(实际参数列表)
* */
/* 形式参数:在方法声明时用于接收外界传入的数
* 实际参数:调用方法时实际传给方法的数据
* 返回值:方法在执行完毕后返回给调用它的环境的数据
* 返回值类型:事先约定的返回值数据类型,如:无返回值,必须显示指定为void
*
* */
//通过对象调用普通方法:需要类先new一个对象,通过对象调用方法
MethodOverloading mol = new MethodOverloading();
int sum1 = mol.add(1,2);//先用类new对象,通过对象调用方法
System.out.println(sum1);
int result1 = sub(5,2);//调用sub重载方法1;直接调用sub方法(public static 方法名(形参){语句块})
System.out.println(result1);
int result2 = sub(7,2,6);//调用sub重载方法2
System.out.println(result2);
double result3 = sub(4.2,5.7);//调用sub重载方法3
System.out.println(result3);
/*注意事项
1、实参的数目、数据类型和次序必须和所调用的方法声明的形参列表保持一致
2、java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本)
3、基本类型传递的时该数据值的copy值
4、引用类型传递的时该对象引用的copy值,但只想同一个对象;
*/
/*方法重载:
实际是完全不同的方法,知识方法名称相同(方便使用,故意使用相同名称)
构成重载的条件:
1、形参类型、形参个数、形参顺序不同
2、只有返回值不同不能构成方法的重载
如:int a(String str){}和void a(String str){}不构成方法的重载
3、只有形参的名称不同,不构成方法的重载:
如:int a(String str){}与int a(String s){}不构成方法的重载
* */
}
//方法声明及定义:声明及定义方法时没有加 static,需要通过new对象调用。
int add(int a,int b) {
int sum = a + b;
return sum;//return 的作用:1、结束方法的运行;2、返回一个值
}
//重载sub方法1
public static int sub(int a,int b) {
int result = a-b;
return result;
}
//重载sub方法2,(与1相比)方法名相同,参数个数不同,构成重载
public static int sub(int a,int b,int c) {
int result = a-b-c;
return result;
}
//重载sub方法3,(与1相比 )方法名相同,参数类型不同,构成重载
public static double sub(double a,double b) {
double result = a-b;
return result;
}
}
来源:https://www.cnblogs.com/destiny-2015/p/12233666.html