方法的基础
在我眼中方法就像是一个加工厂,你给加工厂添置工具(自己写方法),往工厂里面送入原材料(传入参数),工厂经过一系列的加工,给你生成产品(返回值或者完成相应的操作).
方法好处
方法就是一个代码片段. 类似于 C 语言中的 “函数”。方法存在的意义:
- 是能够模块化的组织代码(当代码规模比较复杂的时候):
就比如我有时候在写算法题目的时候,有时候需要自己完成几个步骤,此时如果全篇都写在一起,是否会显得有些冗余? - 做到代码被重复使用, 一份代码可以在多个位置使用:
我要完成相加的操作,是我首先定义出一个相加的方法,使用的时候直接调用方便呢,还是我每用一次就写一次相加方法方便呢? - 让代码更好理解更简单.
这点不光体现在方法上面,也体现在变量名字上面,我们有句古话叫做见名思意,所以说取名字也是一个能力啊,有些公司好像对这些方面也是比较注重的! - 直接调用现有方法开发, 不必重复造轮子.
意思同上!
方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
- 修饰符:public > protected > default(默认访问权限也叫包访问权限) > private 加了static就是静态的也可以说是类的.
- 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void
- 方法名字:采用小驼峰命名
- 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
- 方法体:方法内部要执行的语句
- 在java当中,方法必须写在类当中
- 在java当中,方法不能嵌套定义
- 在java当中,没有方法声明一说
方法调用的执行过程
调用方法—>传递参数—>找到方法地址—>执行被调方法的方法体—>被调方法结束返回—>回到主调方法继续往下执行
方法中的形参与实参
Java中方法的形参就相当于sum函数中的自变量n,用来接收sum函数在调用时传递的值的。形参的名字可以随意取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值。
Java的学习是有联系的,之前我们说过Java数据类型分为基本数据类型以及引用数据类型,如果我们传的是基本数据类型的,就等于说把实参的值给赋给了形参,如果传递的是引用数据类型那么就相当于形参指向了实参所引用的对象.
方法的重载
我感觉方法的重载主要就是为了怕你词穷,整数的加法,小数的加法,两个数的加法,三个数的加法…
现在我们一个方法名就可以根据传入参数的不同自动识别相应的方法.
- 方法名必须相同:
这是方法的立身之本 - 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同):
因为这个是区别重载方法的重要根据之一 - 与返回值类型是否相同无关
后面要说的方法签名中就没有这一项!
方法的签名
方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。