1. 方法概念
(1)方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。
(2)将功能封装为方法的目的是,可以实现代码重用,简化代码
(3)Java 中的方法不能独立存在,所有的方法必须定义在类里。
────────────────────────────────────────────────────────────
2. 方法的声明格式
(1)语法格式:
|
修饰符 | public(默认)、default、private、protected、static、final、abstract |
返回值类型 | 没有返回值:void。有返回值,声明出返回值的类型。与方法体中“return 返回值”搭配使用 |
方法名 | 属于标识符,命名时遵循标识符命名规则和规范,即见名知意。 |
形参列表 | 可以包含零个,一个或多个参数。多个参数时,中间用“,”隔开 |
返回值 | 方法在执行完毕后返还给调用它的程序的数据。 |
return 关键字的使用 | 使用范围:使用在方法体中 作用:1. 结束方法。2. 针对于有返回值类型的方法,使用"return 数据"方法返回所要的数据。 注意点:return 关键字后面不可以声明执行语句 |
────────────────────────────────────────────────────────────
3. 方法的调用
(1)方法通过方法名被调用,且只有被调用才会执行。方法被调用一次,就会执行一次
(2)没有具体返回值的情况,返回值类型用关键字 void 表示,那么方法体中可以不必使用 return 语句。如果使用,仅用来结束方法。
(3)定义方法时,方法的结果应该返回给调用者,交由调用者处理。
(4)方法中只能调用方法或属性,不可以在方法内部定义方法。
────────────────────────────────────────────────────────────
4. 方法的重载
(1)重载的概念:在同一个类中,允许存在同名方法,只要它们的参数个数或者参数类型不同和不同类型位置不同即可。
(2)重载的特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。
(3)重载方法的优点:可以为编程带来方便。
(4)总结:两同一不同(同一个类、相同方法名。参数列表不同:参数个数不同,参数类型不同)
────────────────────────────────────────────────────────────
5. 可变个数形参
(1)可变个数形参的格式:数据类型 … 变量名。如 public void show(String ... strs)
(2)当调用可变个数形参的方法时,传入的参数个数可以是 0 个或多个
(3)可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
(4)可变个数形参与数组冲突:可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。
(5)可变个数形参在方法的形参中,必须声明在末尾
(6)可变个数形参在方法的形参中,最多只能声明一个可变形参。
────────────────────────────────────────────────────────────
6. 方法参数的值传递机制
(1)值传递。 即将实际参数值的副本 (复制品)传入方法内,而参数本身不受影响。
(2)形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参
(3)形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参
形参 | 方法定义时,声明的小括号内的参数 |
实参 | 方法调用时,实际传递给形参的数据 |
────────────────────────────────────────────────────────────
7. 递归
(1)递归方法:一个方法体内调用它自身。
(2)方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。
(3)递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。