Java 方法
实现特定功能的一段代码,可反复使用。
方法的定义
public static void 方法名() {
// 方法体
}
- 方法名的命名要遵循命名规则。
- 一般是将可复用的代码,定义在方法内部。
方法定义的位置
方法要定义在类的内部。
方法的调用
静态方法(就是用static修饰的方法)在类的内部可以直接用方法名调用。
方法的执行流程
方法调用时,会优先执行方法内部的代码,结束后,返回方法调用处,继续向下执行。
方法的参数
多数情况下,方法与调用者之间需要数据的交互;调用者必须要提供必要的数据,才能使方法完成相应的功能。
- 带参方法的定义
public static void 方法名(形式参数) {
// 方法体
}
- 方法的调用
方法名(实际参数);
常见错误
- 已在类
类名中定义了方法方法名:在同一个类中定义了多个方法名相同,参数类型相同的方法。 - 无法将类
类名中的方法方法名应用到给定类型:定义了一个方法,但在调用时参数的类型对不上。 - 不兼容的类型:
int转换到char可能会有损失:定义的方法参数类型为char,但在调用方法时传入的参数类型为int。 - 不兼容的类型:
double转换到int可能会有损失:定义的方法参数类型为int,但在调用方法时传入的参数类型为double。
补充
- 调用带参方法时,依次传入实参,类型、个数、顺序必须与形参对应。
返回值与返回值类型
方法执行后的返回结果。
方法执行后,一些情况下无需返回结果;另一些情况下需要返回结果。
返回值类型:基本数据类型、引用数据类型、void。
public static 返回值类型 方法名(形式参数列表) {
// 方法体
return value; // 返回值
}
一个方法只能有一个返回值,如果方法包含分支,结果要与返回值类型一致或兼容。
public static String example(int num){
if (num % 2 == 0) {
System.out.println("num是偶数");
} else {
System.out.println("num是奇数");
}
}
- 错误示例
public int void example(int a, int b) {
return a + b;
return a - b;
}
补充
- 一个类中可以的定义多个方法,方法之间属于并列关系,不可以嵌套。
- 单一职责原则(一个方法只做一件事)。
- 方法的好处
- 减少用于代码
- 提高复用性
- 提高可读性
- 提高可维护性
递归
- 解决具有既定规律的问题时,在方法内部再次调用自身方法的一种编程方式。
- 当需要解决的问题可以拆分成若干个小问题,大小问题的解决方式相同。
- 设置有效的出口条件,可以让调用链上的方法都可以正确的返回,避免无穷递归。