方法的概述:
将具有独立功能的代码块 ,组织到为一个整体,使其具有特殊功能的 代码集
方法是能够完成特定功能的代码块
方法的定义格式:
修饰符 public static
返回值 void/数据类型
方法名 按照标识符的命名规则和规范定义 将来要根据方法名调用方法
参数列表 可有可无 有没有根据实际需求确定 如果有的话 参数列表是由两组成:参数类型 参数名 多个参数之间用逗号隔开
方法体 方法要完成的功能
返回值 如果方法有返回值要使用return 值;如果没有则不写
public static void m1(){
//无参无返回
}
public static int m2(){
//无参有返回
int x = 10;
return x;
}
public static void m3(int x){
//有参无返回
}
public static int m4(int x){
//有参有返回
x++;
return x;
}
方法的调用方式:
根据方法名调用 如果有参数还要传参
m1();
int a = m2();
m3(10);
int b = m4(20);
有返回值的方法可以使用赋值调用 也可以使用输出调用
无返回值的方法只能单独调用
注意:
方法只定义不调用不会执行
方法接收的实参必须和形参的类型以及个数对应上
方法之间都是平级关系 不能嵌套定义
方法的重载:
概述:在同一个类中有若干个方法名相同的方法 但是他们的形参个数或者形参类型不同
典型:System.out.println()
System.out.println(String)
System.out.println(int)
System.out.println(double)
...
注意;方法是否重载跟方法的返回值无关
方法的可变长参数:
如果不确定我们的方法将来要接收多少个参数 那么可以将该方法的参数列表定义为可变长参数
//数据类型... 参数名
public static int m(int... arr){
//如何获取到方法接收到的参数/
//可变长参数本质上是一个数组 需要对数组进行遍历
for(int i=0;i < arr.length;i++){
int param = arr[i];
//参数可以传0-N个
}
}
方法的基本类型参数和引用类型参数传递区别:
参数是基本类型:值传递 形参的改变不会影响实参
参数是引用类型:地址传递 形参的改变会影响实参
方法的递归调用:
案例:参见module
本质:方法自身调用自身
缺点:在调用过程中如果没有控制好条件有可能会出现栈内存溢出错误
//遍历文件夹下的所有文件和文件夹
//XML 对树型结构解析 |
|