方法
方法是实现某个目的的具体过程
访问修饰符 是否静态 返回值 方法名( 参数类型 形参 ){
方法体
return;
}
- 其实每个方法最后一行都有一个return,无返回值也是有默认的一个return,用于结束方法
方法的好处
可以进行重复调用,减少大量重复代码,提高代码复用性
方法分类
- 无参无返回值
访问修饰符 是否静态 方法名() { …… }
- 有参无返回值
访问修饰符 是否静态 方法名( 参数n ) {……}
- 无参有返回值
访问修饰符 是否静态 方法名() { …… }
- 有参有返回值
访问修饰符 是否静态 方法名( 参数 ) { …… }
方法的参数
参数大致分为两种:
- 基本数据类型:
变量当作参数传递的时候,不改变原值
方法的局部变量会随着方法结束而被释放 - 引用数据类型:
因为是引用数据类型,传递的参数其实是地址值,会改变原值
即使方法执行完毕,实体还在堆内存中
可变参数
参数可变,即不限制参数传递的数量
注意:
- 类型需要一致(任意类型,包括类、接口)
- 可变参数只能放在参数的最后
使用方式:
public void viriableParam(int... a){
System.out.println(a.length);
for (int i = 0;i<a.length;i++){
System.out.print(a[i] + " "); // 1 3 5 7 9
}
}
可看成数组,与数组使用方式相同
方法重载
- 同一个类中,方法名相同但参数不同(数量 类型 顺序)的方法为重载方法
- 与返回值无关
- System.out.println() ——实际上就是个被重载的方法,+号实际是字符串拼接
方法递归调用
- 即在方法中调用自己本身这个方法 的形式
- 递归必须要有一个递归的结束条件,且每次递归处理时都要有改变,否则会栈溢出