Ⅰ. 方法的概念与使用
方法就是一个代码片段,类似于C语言中的 "函数"。
一、方法的定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]) {
方法体代码;
[return 返回值];
}格式解释:
-
修饰符:现阶段直接使用
public static固定搭配 -
返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成
void -
方法名字:采用 小驼峰 ** ** 命名
-
参数列表:如果方法没有参数,则括号中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
注意事项:
-
在
java中,方法必须写在类当中 -
在
java中,方法不能嵌套定义 -
在
java中,没有方法声明的说法
Ⅱ. 方法重载
一、方法重载的概念
-
方法名相同
-
参数列表不同 (参数的个数不同、参数的类型不同、类型的次序必须不同)
-
与返回值类型无关
二、方法签名
在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就可以定义方法名相同的方法呢❓❓❓
方法签名即经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名 + 参数列表 + 返回值类型,构成方法完整的名字。
public class TestMethod {
public static int add(int x, int y){
return x + y;
}
public static double add(double x, double y){
return x + y;
}
public static void main(String[] args) {
add(1,2);
add(1.5, 2.5);
}
}上述代码经过编译之后,然后使用 JDK 自带的 javap 反汇编工具查看,具体操作:
-
先对工程进行编译生成
.class字节码文件 -
在控制台中进入到要查看的
.class所在的目录 -
输入:
javap -v``字节码文件名字**

方法签名中的一些特殊符号如下表所示:
| 特殊字符 | 数据类型 |
|---|---|
| V | void |
| Z | boolean |
| B | byte |
| C | char |
| S | short |
| I | int |
| J | long |
| F | float |
| D | double |
| [ | 数组:以 [ 开头,配合其他的特殊字符,表述对应数据类型的数组,几个 [ 表述几维数组 |
| L | 引用类型:以 L 开头,以 ; 结尾,中间是引用类型的全类名 |