一、方法的定义
方法的定义格式:
public static void 方法名称() {
方法体
}
三种调用格式:
1.单独调用:方法名称();
2.打印调用:System.out.println(方法名称(参数));
3.赋值调用:数据类型 变量名称 = 方法名称(参数);
返回值为void,只能进行单独调用,不能进行其他调用。
例:
public class Demo{
public static void main(String[] args){
sum(10,20);
System.out.println(sum(10, 20));
int num = sum(15, 25);
System.out.println(num);
}
public static int sum(int a ,int b){
return a+b;
}
}
注意事项:
1.方法定义的先后顺序无所谓。
2.方法定义必须是挨着的,不能再一个方法的内部定义另外一个方法。
3.方法定义之后,不会立即执行,如果要执行方法定义,必须要调用方法。
4.方法应该定义在类当中,但是不能再方法中再定义方法,不能嵌套。
5.如果方法有返回,那么必须写上“return 返回值;”,不能没有。
6.return后面的返回值数据,必须和方法的返回值类型,对应起来。
7.对于一个void没有返回值答方法,不能写return后面的返回值,只能写return;
8.对于void方法中的最后一行的return可以省略不写。
9.一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行到。
2.方法的重载
对于功能类似的方法来说,因为参数列表不一样,却需要记住很多不同的方法名称,太麻烦
方法重载(overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法的名称,就可以实现类似多个的功能。
-方法重载与下列因素有关:
1.参数个数不同
2.参数类型不同
3.参数的多类型顺序不同
-方法重载与下列因素无关:
1.与参数的名称无关(大小写不同的方法为不同的方法名,比如open、OPEN为两个不同的方法名,因为java是大小写敏感的)
2.与方法的返回值类型无关
3.与方法返回值前的修饰符(public、static等)无关
public class OverloadSame{
public static void main(String[] args){
byte a = 10;
byte b = 20;
System.out.println(isSame(a, b));
System.out.println(isSame((short)a, (short)b));
System.out.println(isSame(10, 20);
System.out.println(isSame(10L, 20L);
}
public static boolean isSame(byte a, byte b){
return a == b;
}
public static boolean isSame(short a, short b){
return a == b;
}
public static boolean isSame(int a, int b){
return a == b;
}
public static boolean isSame(long a, long b){
return a == b;
}
}