Java方法
Java方法实际上就是函数,创建方法并且调用。
& 注意:
1.方法定义的先后顺序无所谓
2.方法不可嵌套
- Java创建方法的格式如下
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体
return 返回值;
}
/*
例如:
定义一个二者相加的方法
三要素:
返回值类型:int
方法名称:sum
参数列表:int a,int b
*/
public static int sum(int a, int b) {
System.out.println("方法执行啦!");
int result = a + b;
return result;
}
修饰符:现阶段的固定写法:public static
方法名称:驼峰命名法
参数用逗号隔开
return:两个作用,一是停止当前方法,二是将后面的返回值还给调用处
定义方法的注意事项:
定义位置:类中方法外面;
返回值类型:必须和return语句返回的类型相同,否则编译失败。
*-*不能在 return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
如果没有返回值,那么方法的返回值类型应为void,而且return可以不省略写。
- 方法的调用
/*
方法的三种调用格式:
1.单独调用:方法名称(参数);
2.打印调用:System.out.println(方法名称(参数));
3.赋值调用:数据类型 变量名称 = 方法名称(参数);
*/
public class Demo01MethodDefine {
public static void main(String[] args) {
// 单独调用
sum(5, 6);
System.out.println("=================");
// 打印调用
System.out.println(sum(5, 6));
System.out.println("=================");
// 赋值调用
int number = sum(7,8);
System.out.println("变量的值:" + number);
}
public static int sum(int a, int b) {
System.out.println("方法执行啦!");
int result = a + b;
return result;
}
程序执行:主方法 main 调用 getSum 方法,传递了实际数据 5 和6 ,两个变量 a 和b 接收到的就是实际参数,并将计算后的结果返回,主方法 main 中的变量 sum 接收的就是方法的返回值。
- 方法重载(Overload)
方法重载 :指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用: JVM通过方法的参数列表,调用不同的方法。
例如:
// 对于功能类似的方法来说,因为参数列表不一样,却需要记住很多方法名称,太麻烦
// 方法的重载(Overload),多个方法的名称一样,但是参数列表不一样
// 好处:只需要记住一个方法名称,就可以实现多个类似的多个功能
/* 方法重载与下列因素有关:
1. 参数个数
2. 参数类型
3. 参数的多类型顺序
*/
/*方法重载与下列因素无关
1. 与参数名称无关
2. 与方法的返回值类型无关
*/
// sum方法的重载
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(8,9,3));;
}
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
public static int sum(int a,int b,int c,int d){
return a+b+c+d;
}
}
// 重载练习:判断下面哪些方法是重载关系
public static void open(){} // 正确重载
public static void open(int a){}// 正确重载
static void open(int a,int b){} // 代码错误,和第8行冲突
public static void open(double a,int b){} // 正确重载
public static void open(int a,double b){} // 代码错误,和第6行冲突
public void open(int i,double d){} // 代码错误,和第5行冲突
public static void OPEN(){} // 代码正确不会报错,但不是有效重载,open和OPEN不一样,Java对大小写敏感
public static void open(int i,int j){} // 代码错误,和第3行冲突