一.方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]) {
方法体代码;
[return 返回值];
}
【注意事项】
1.返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void。
2.方法取名:采用小驼峰命名。
3.参数列表:如果方法没有参数,()什么都不写,如果有参数,需指定参数类型,多个参数之间用逗号隔开。
4.方法体:方法内部要执行的语句。
5.方法必须写在类中。
6.方法不能嵌套定义。
7.方法没有声明的说法。
二.方法调用
调用方法--->传递参数--->找到方法地址--->执行被调方法的方法体--->被调方法结束返回--->回到主调方法继续往下执行
方法的调用时需要开辟内存的,方法调用结束,这块内存就销毁了。
三.实参和形参
Java中方法的形参就相当于sum函数中的自变量n,用来接收sum函数在调用时传递的值的。形参的名字可以随意
取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值。
public static int getSum(int N){ // N是形参
return (1+N)*N / 2;
}
getSum(10); // 10是实参,在方法调用时,形参N用来保存10
getSum(100); // 100是实参,在方法调用时,形参N用来保存100
在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体。
四.方法重载
在java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1.5,2.5));
System.out.println(add(1.5,2.5,3.5));
}
public static int add(int x,int y) {
return x + y;
}
public static double add(double x,double y) {
return x + y;
}
public static double add(double x,double y,double z) {
return x + y + z;
}
【注意事项】
1.方法名必须相同。
2.参数列表必须不同(参数个数,参数类型,类型次序)。
3.与返回类型是否相同无关。
4.如果两个方法仅仅只是返回值类型不同,则不能构成重载。
五.方法签名
在同一个作用域中不能定义两个相同名称的标识符(变量),比如:方法中不能定义两个名字一样的变量。而类中为什么可以定义方法名相同的方法呢。
经过编译器编译修改之后方法最终的名字,具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。