方法的定义概述
方法(method)是将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集
注意:
- 方法必须先创建才可以使用,该过程称为方法定义
- 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
方法定义格式
方法调用格式
方法必须先定义后调用,否则报错带参数方法定义和调用
方法调用:方法名(变量名/常量值) PS: 没有类型名
形参和实参
形参:方法定义中的参数
等同于变量定义格式,如:int number
实参:方法调用中的参数
等同于使用变量或常量,例如:10 number
带参数方法练习
带返回值方法的定义和调用
格式1有时是无意义的,因此常用格式2
程序见methondDemo04
方法注意事项
禁止套娃
void表示无返回值,可以省略return,也可以单独书写return,后面不加数据
若一定要写return 100的话,上面的方法定义 void 改为 int 。
return表示方法走到这里就结束了,即使后面还有语句也不会执行。
方法的通用格式
定义方法时,要做到两个明确:
- 明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如 果有,写对应的数据类型
- 明确参数:主要是明确参数的类型和数量
调用方法时
void类型的方法,直接调用即可
非void类型的方法,推荐用变量接收调用
方法重载
概述
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载:
- 多个方法在同一个类中
- 多个方法有相同的方法名
- 多个方法的参数不相同(类型不同或数量不同)
特点
- 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
- 重载仅针对同一个类中方法的名称与参数识别,与返回值无关,换句话说,不能通过返回值来判定两个方法是否相互构成重载(如果仅仅是返回值不同,不能构成重载)
- 只有参数名不同,不构成重载
方法参数传递
基本类型
对于基本数据类型的参数,形式参数(方法中的用到的参数)的改变,不影响实际参数(main函数中的参数)的值
上例中,change方法改变的是形参number的值,此方法没有返回值,所以修改后的number不会被传到main函数中,而main函数中的输出语句中的number是还是实参。
引用类型
对于引用类型的参数,形式参数的改变,影响实际参数的值
change方法中引用的数组指向的是唯一的内存地址,在方法中改变数据,本来内存地址中的数据被改变,实参也就改变。