方法
方法
- 一个方法只完成一个功能,这样有利于我们后期的扩展
- 方法的命名规则应遵守首字母小写的驼峰命名规则
方法的定义
方法包含一个方法头和方法体。下面是一个方法的所有部分
- 修饰符(public、static)
- 返回值类型(void、int)
- 方法名
- 参数类型(形参)
- 方法体
方法的调用
调用方法:对象名.方法名(实参列表)
当方法返回一个值的使用,方法调用通常被当做一个值
当方法返回值是空的时候,方法调用一定是一条语句
源代码
1 | |
注:静态方法和类一起加载,而非静态方法是实例化之后才会存在。所以非静态方法无法直接调用静态方法
方法的重载(Overload)
方法重载的规则:
- 方法名称必须相同。
- 参数列表必须不同(可以是个数不同,类型不同,顺序不同)
实践理论:
- 方法名称相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
注:方法的重载的目的 就是通过传不同的参数达到调用不同的方法
命令行传参
有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()方法实现
可变参数
在方法声明中,在指定参数类型后加一个省略号(…)
一个方法中只能指定一个可变参数,他必须是方法的最后一个形参,其他的参数都要在它之前声明
注:可变参数有点类似与C语言中数组的首地址传递。
递归
递归分为递归头和递归体
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
源代码
5的阶乘,递归算法
1 | |
方法的数组参数传递
作为引用类型的数组也可以作为数组的形参或者返回值
注:JAVA中方法的数组(引用)传递类似于C语言中的地址传递,方法中对数组进行的操作对方法外也有影响
方法的引用类型的传递
同数组一样,引用类型的传递也是地址传递
1 | |
注:类中属性和类中方法一样,如果想要用类名.属性名调用该属性,则该属性必须要用static修饰符修饰
方法
http://blog.170827.xyz/2022/07/20/方法/