定义方法的格式详解
修饰符 返回值类型 方法名(参数列表){
//代码省略...
return 结果;
}
- 修饰符: public static 固定写法
- 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
- 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
- return:将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束
- 小贴士:return 结果; 这里的"结果"在开发中,我们正确的叫法成为方法的返回值
定义方法的两个明确
- 明确返回值类型:方法计算的是整数的求和,结果也必然是个整数,返回值类型定义为int类型。
- 明确参数列表:计算哪两个整数的和,并不清楚,但可以确定是整数,参数列表可以定义两个int类型的变量,由调用者调用方法时传递。
注意事项:
- 1. 方法定义的先后顺序无所谓。
- 2. 方法定义必须是挨着的,不能在一个方法的内部定义另外一个方法。
- 3. 方法定义之后,自己不会执行的;如果希望执行,一定要进行方法的调用。
方法的三种调用格式。
- 1. 单独调用:方法名称(参数);
- 2. 打印调用:System.out.println(方法名称(参数));
- 3. 赋值调用:数据类型 变量名称 = 方法名称(参数);
注意事项:
- 对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
- 但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。
使用方法的时候,注意事项:
- 1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
- 2. 方法定义的前后顺序无所谓。
- 3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
- 4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
- 5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
- 6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
- 7. 对于void方法当中最后一行的return可以省略不写。
- 8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
方法重载
- 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
- 参数列表:个数不同,数据类型不同,顺序不同。
- 重载方法调用:JVM通过方法的参数列表,调用不同的方法
方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
/*
题目要求:
比较两个数据是否相等。
参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
并在main方法中进行测试。
*/
public class Demo02MethodOverloadSame {
public static void main(String[] args) {
byte a = 10;
byte b = 20;
System.out.println(isSame(a, b));
System.out.println(isSame((short) 20, (short) 20));
System.out.println(isSame(11, 12));
System.out.println(isSame(10L, 10L));
}
public static boolean isSame(byte a, byte b) {
System.out.println("两个byte参数的方法执行!");
boolean same;
if (a == b) {
same = true;
} else {
same = false;
}
return same;
}
public static boolean isSame(short a, short b) {
System.out.println("两个short参数的方法执行!");
boolean same = a == b ? true : false;
return same;
}
public static boolean isSame(int a, int b) {
System.out.println("两个int参数的方法执行!");
return a == b;
}
public static boolean isSame(long a, long b) {
System.out.println("两个long参数的方法执行!");
if (a == b) {
return true;
} else {
return false;
}
}
}
方法重载与下列因素相关:
- 1. 参数个数不同
- 2. 参数类型不同
- 3. 参数的多类型顺序不同
方法重载与下列因素无关:
- 1. 与参数的名称无关
- 2. 与方法的返回值类型无关