文章目录
- 1.方法使用
- 2.方法调用
- 3.方法重载
1.方法使用
- 方法:若干语句的功能集合
- 定义格式
public class 方法名称(){
方法体;
}
- 调用格式
方法名称();
- 注意事项
...
public static void main(String[] args) {
print();//调用
}
//定义方法
private static void print(){
for(int i=0;i<5;i++){
for(int j=0;j<8;j++){
System.out.print("*");
}
System.out.println();
}
}
...
- 参数:进入方法的数据.
- 返回值:从方法返回的数据
- 定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体;
return 返回值;
}
2.方法调用
- 单独调用,
- 打印调用
- 赋值调用
...
public static void main(String[] args) {
//单独调用和赋值调用
int sum=getSum(5,6);
//打印调用
System.out.println(sum);
}
//求和
public static int getSum(int a,int b){
return a+b;
}
- 方法调用流程
- 有参数和无参数
public static void main(String[] args) {
printCount(10);
}
/*
三要素
返回值类型:只是进行一大堆打印操作而已,没有计算,也没有结果要告诉调用处
方法名称:printCount
参数列表:到底要打印多少次?必须告诉我,否则我不知道多少次,没法打印。次数:int
*/
public static void printCount(int num) {
for (int i = 0; i < num; i++) {
System.out.println("Hello, World!" + (i + 1));
}
}
- 注意事项
- 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
- 方法定义的前后顺序无所谓。
- 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
- 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
- return后面的返回值数据,必须和方法的返回值类型,对应起来。
- 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
- 对于void方法当中最后一行的return可以省略不写。
- 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
3.方法重载
- 基本使用
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
- 与参数的名称无关
- 与方法的返回值类型无关
...
public static void main(String[] args) {
System.out.println(sum(10, 20)); // 两个参数的方法
System.out.println(sum(10, 20, 30)); // 三个参数的方法
System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法
sum(10, 20);
}
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
public static int sum(int a, int b) {
System.out.println("有两个方法参数执行");
return a + b;
}
public static int sum(double a, double b) {
return (int) (a + b);
}
public static int sum(int a, int b, int c) {
System.out.println("有3个参数的方法执行!");
return a + b + c;
}
public static int sum(int a, int b, int c, int d) {
System.out.println("有4个参数的方法执行!");
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(){} // 代码正确不会报错,但是并不是有效重载
public static void open(int i,int j){} // 代码错误:和第3行冲突
鄙人知识浅薄,错误之处,还请及时指正,不胜感激!