切换主题
七、方法
一、方法定义与使用
定义一个方法的格式
java
[修饰符] [返回类型] 方法名([参数类型] 参数名 ...){
//方法体执行语句
}
- 修饰符为可选项,定义了该方法被访问的权限
- 方法名为必填项,命名规则和Java中的其他标识符相同
- 方法参数,也称为入参,为可选项
- 方法体执行语句,是指任何可以出现在方法内部的有效代码
- 返回类型,是指声明定义的方法执行完成后返回值的类型
1、方法参数
Java遍历分为基本类型和引用类型
- 基本类型在定义变量时就分配了空间
- 引用类型在定义时,只给变量定义了引用空间,而不分配数据空间
(1)按值传递
按值传递会将实参的值赋值给对应的形参,在函数内部的操作针对形参进行,
因为方法接收到的是原始值的副本,此时内存中存在两个相等的基本类型
(2)按引用传递
按引用传递就是将实参的内存地址传递给形参,方法中实参和形参都指向同一个内存地址,
2、方法返回值
- 方法返回值使用return关键字
- 方法返回值通过使用可选的返回语句返回,可以返回包括数组和对象的任意类型
- 返回语句会立即中止函数的运行,并且将控制权交回调用该方法的代码行
3、方法类型声明
- Java是一门强语言,对于变量类型不支持自动转换
- Java中明确了对方法参数类型和返回类型的定义
- 参数类型声明指定了方法参数值的类型,返回类型声明指定了将从方法返回的值的类型
- 类型声明强调方法在调用时要求参数为特定类型,如果给出的值类型不对,那么将会产生编译错误
二、可变参数方法
Java支持在一个方法中传递数量不定的同类型参数,即可变参数传递。在方法声明时,…
可变参数方法定义格式
java
[修饰符] [返回类型] 方法名([参数类型]...参数名){
//方法体执行语句
}
- 一个方法中可以定义多个参数,但是可变参数只能定义一个,并且位置必须为方法入参中的最后一个参数
- 任何其他普通的参数定义必须在可变人参之前
- 可变参数在Java编译时会被处理为一个相应类型的数组
示例
java
public class VariableMethod {
public static void test(String... args) {
System.out.println("这是可变人参方法")
for (String arg : args) {
System.out.println("人参为:" + arg);
}
}
public static void main(String] args){
test();
test("A");
test("A", "B", "C");
}
}
三、方法的重载
- 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
- 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
- 同一个类中,方法名相同,参数不同的方法
- 与返回值无关
- 参数不同:个数不同、类型不同、顺序不同