【JavaSE】(2) 方法
一、认识方法
1. 方法的定义
修饰符 返回类型 方法名(形参类型 形参名, ......){......return 返回值;
}
示例代码:
2. 方法的作用
- 增强代码的可复用性。(避免重复造轮子)
- 增强代码的易管理性。(改方法就行,不用到处改)
3. 编写的注意事项
- 目前固定修饰符为 public static,什么作用后面再学。
- 方法必须写在类里边。
- 方法不能嵌套定义。(方法里面套方法)
- Java里面,方法没有声明一说。
二、形参和实参
C语言知识回顾:形参只是实参的拷贝,它们是放在不同的栈帧中。因此,当交换两个数值时,用传递值的方式调用方法,方法执行结束后,形参的栈帧会回收,而实参的值并无变化。想改变实参,必须传递地址。
但是 Java 不允许获取栈(基本数据类型的局部变量)的地址,只能获取堆上存放的引用类型变量的引用地址,因此可以传递数值这种引用类型来改变实参,后续再深入学习。
三、方法重载
1. 含义
方法名字相同,但参数列表不同(参数个数、参数类型、参数类型的次序),实现不同的功能。
2. 作用
不用再绞尽脑汁想方法名了。
3. 示例
4. 方法签名
同一个作用域的标识符不能相同,为什么可以让方法同名?因为编译器会方法名,修改后的方法名叫做方法签名。
方法签名组成:方法全路径+参数列表类型+返回值类型。
使用 javap -v 反汇编字节码文件,查看方法签名:
特殊符号 | 含义 |
V | void |
Z | boolean |
B | byte |
C | char |
S | short |
I | int |
J | long |
F | float |
D | double |
[ | 数组,几个 [ 几维数组 |
L | 引用类型,以 ; 结尾,中间是引用类型的全类名 |
命令行参数数组 args 的签名: