一、方法的概念
方法其实就是一组代码语句的封装,同时也是一个类中最基本的功能单元。
二、方法的声明
声明方法的位置:类中方法外(方法不能嵌套,只能并列存在)
类名{ 方法1(){ } 方法2(){ } }
三、声明方法的语法格式
【修饰符】 返回值类型 方法名(数据类型1 形参1,数据类型2 形参2){ 方法体的功能代码; return 返回值; }
四、方法的特点
(1)必须先声明后使用
(2)不调用不执行,调用一次执行一次
五、方法调用时的流程
(1)在调用者方法中通过实参给方法的形参完成赋值操作
(2)调用着方法的同时做现场保护
(3)把执行权交给被调用的方法,调用者方法进入挂起状态
(4)被调用的方法开始执行
(5)把被调用的方法的最终执行结果先存放到临时空间,并结束方法
(6)回到调用者方法的断点处,调用者方法做现场恢复,继续执行后续代码
六、 返回值问题
(1)如果被调用方法的返回值类型是void,调用时不需要也不能接收和处理(打印或参与计算)返回值结果,即方法调用表达式==只能==直接加;成为一个独立语句。
//无返回值的都只能单独加;成一个独立语句 //调用MethodDefineDemo类中无参无返回值的方法sayHello sayHello();
(2)如果被调用方法有返回值,即返回值类型不是void
方法调用表达式的结果可以作为赋值表达式的值,
//有返回值的 //(1)方法调用表达式可以作为赋值表达式的值 int bigger = max(7,3); System.out.println("bigger = " + bigger);
方法调用表达式的结果可以作为计算表达式的一个操作数,
//(2)方法调用表达式可以作为计算表达式的一个操作数 //随机产生两个[1,100]之间的整数,并求和 int sum = md.getIntBetweenOneToHundred() + md.getIntBetweenOneToHundred(); System.out.println("sum = " + sum);
方法调用表达式的结果可以作为另一次方法调用的实参,
int x = 4; int y = 5; int z = 2; int biggest = md.max(md.max(x,y),z); System.out.println("biggest = " + biggest);
方法调用表达式的结果可以不接收和处理,方法调用表达式直接加;成为一个独立的语句,这种情况,返回值丢失。
//(4)方法调用表达式直接加;成为一个独立的语句,这种情况,返回值丢失 getIntBetweenOneToHundred();
七、方法的重载
方法重载(overload):指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
八、重载方法的调用
(1)先找个数、类型最匹配的
(2)再找个数和类型可以兼容的,如果同时多个方法可以兼容将会报错
九、方法重载的意义
方便调用者,当你有一些列功能类似的方法是,可以进行方法的重载