方法
-
概念:方法就是一段具有独立功能 的代码块,不调用就不执行
-
前提:方法必须先创建才可以使用,该过程称为方法的定义
方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用 -
方法的定义:
public static void 方法名 (){
// 方法体
}
- 方法的调用:
方法必须先定义后调用,否则程序将会报错 方法与方法之间是平级关系,不能嵌套定义
在方法没有被调用的时候,都在方法区中的字节码文件(.class)中存储 方法被调用的时候,需要进入到栈内存中运行
public static void 方法名(参数){
//方法体
}
单个参数:数据类型 变量名
多个参数:数据类型 变量名1 , 数据类型 变量名2 , …
调用:方法名(参数);
方法名(变量名/常量值);
方法名(变量名1/常量值1 , 变量名2/常量值2 , …);
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将会报错
-
形参:全称形式参数,是指方法定义中的参数
-
实参:全称实际参数,是指方法调用中的参数
-
带参数方法练习
public class fangfa{
public static void main(String[] args){
print(50, 80);
}
public static void print(int a, int b){
for(int i = a; i <= b; i++){
if(i % 2 != 0) System.out.println(i);
}
}
}
- 带返回值方法的定义和调用
public static 数据类型 方法名(参数){
return 数据;
}
方法定义时,return后面的返回值与方法定义上的数据类型要匹配,否则就会报错
在执行代码时,return语句后面的语句都不会执行,属于无效代码
return;可以用于结束方法,也就是方法从栈内存中弹出去,该过程称为方法的弹栈
- 调用:数据类型 变量名 = 方法名(参数);
public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
- 方法重载:
方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载 (Overloading)。 (2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写 (Overriding)。 (3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
方法名相同,参数也完全相同,称为方法的重复定义,是一种冲突性的错误 在调用方法的时候,Java虚拟机会通过参数的不同来区分同名的方法
在同一个类中,定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
注意:识别方法之间是否是重载关系,只看方法名和参数,和返回值无关,这样一来就不用记忆过多繁琐的方法名字