方法相互之间的调用:
public class Test1 {
public static void main (String[] args) {
sayLoveU();
add(1, 2, 3);
}
public static void sayLoveU () {
System.out.println("我爱你");
}
public static int add (int a, int b, int c) {
int sum = a + b + c;
System.out.println(sum);
return sum; // return 有两个作用:返回值,结束方法执行;
}
}
方法的重载
重载:一个类中可以定义多个名称相同,但形式参数列表不同的方法;
重载的方法是完全不同的方法,只是名称相同而已;
构成重载的条件:
-
形参列表不同的含义:形参类型、形参个数、形参顺序不同;
-
只有返回值不同不构成方法的重载;
例如: int a(String str) 与 void a(String str) 不构成方法的重载
-
只有形参名称不同,不构成方法的重载;
例如:int a(String str) 与 int a(String s) 不构成方法的重载;
public class Test1 {
public static void main (String[] args) {
System.out.println(add(1, 2));
System.out.println(add(1, 2, 3));
System.out.println(add(1.0, 2));
}
// 求和的方法
public static int add (int a, int b) {
int sum = a + b;
return sum;
}
// 方法名字相同,但是个数不同,构成重载
public static int add (int a, int b, int c) {
int sum = a + b + c;
return sum;
}
// 方法名字相同,但是形参类型不同,构成重载
public static double add (double a, int b) {
double sum = a + b;
return sum;
}
// 编译错误,如果只是返回值不同, 不可构成重载
// public static double add (int a, int b) {
// double sum = a + b;
// return double;
// }
// 编译错误,如果只是形参名字不同,不可构成重载
// public static int add (int n, int k) {
// int sum = n + k;
// return sum;
// }
}