05 方法
引入
image.png一、概念
方法是完成某个功能的一组语句,简单说就是“功能块”
方法就像上图描述的烤鸭机,需要“原料”和“结果”,因此预留原料口和结果出口,投入原料后,经过烤鸭机的烤制,会产生一只烤鸭。
需要注意
(1)生鸭不能扔进调料进料口中,调料也不能扔进生鸭进料口中
(2)经过烤鸭机的烤制,会产生一只烤鸭,因此产生烧鸡就是错的
二、好处
在程序中使用同样功能的地方,没有必要重复编写同样的代码,只要调用定义好的方法就可以。可以实现代码的重用。
三、方法声明
方法的声明可以理解为买回”烤鸭机“,烤鸭机需要启动才能生产烤鸭,因此仅声明方法不会起效果,需要调用方法,具体调用方式后面会提
[访问控制符] [修饰符] 返回值类型 方法名(参数类型 形式参数,参数类型 形式参数,…){
方法体
}
其中
(1)访问控制符和修饰符暂时写成public static
(2)返回值类型有两种选择
a.第一种是之前学过的数据类型(基本数据类型+引用数据类型),用来限制方法执行后产生的结果类型,比如结果是整数,那么返回值类型就是int
b.第二种是void,这种返回值类型不需要结果
(3)方法名是方法的标识,随意起名
(4)参数列表,此处的参数全称叫形式参数,比较像烤鸭机的进料口,限定放入原料的类型,比如要整型数据,但是放入char型数据,就是错的,形参在方法内部代表放入的原料
(5)方法体是{}加上{}中的语句
例05-1
声明一个返回值类型是int的方法,求两个数的和
public static int getSub(int i,int j){
int h = i+j;
return h;
}
四 关于return
1、例05-1中的return h,表示返回一个结果,此处return有两个作用
(1)给该方法的使用者一个结果
(2)停止当前方法
错误写法
image.png
正确写法
image.png
如图所示,第6行已经有return h;的语句,表示当前方法已经停止,因此第7行再写代码就不会到达,因此是错的。
2、如果方法的返回值是void,表示不用返回一个值,但是仍然可以使用return这个关键字,当然,此时仅表示结束当前方法
错误写法
image.png
正确写法
image.png
五 方法的分类
有参无返回值方法
public static void getSub(int i){
}
有参有返回值方法
public static int getSub(int i){
return 1;
}
无参无返回值方法
public static void getSub(){
}
无参有返回值方法
public static int getSub(){
return 1;
}
六 方法的调用
上边已经介绍过,方法光声明没有任何意义,要想真正起作用需要进行”调用“,可以理解为启动烤鸭机,本章讲的方法调用都是在同一个类里调用,不同类中方法的调用需要到下一章介绍。
1、无参方法调用格式是
方法名()
调用方法需要在其他方法中调用,比如主方法
例05-2 调用之前声明的无参getSub方法
2、有参方法调用格式是
方法名(实参1,实参2,实参3)
image.png
需要注意的是,当有参方法调用时放在()中的参数叫实际参数,是实际的值,也就是放进烤鸭机中真正的原料生鸭和调料,因此不需要声明数据类型,两种原料顺序也不能换
七 基本数据类型的参数和引用数据类型的参数的不同
image.png八 方法重载
同一个类中存在多个同名方法
要求
方法名称相同
参数列表不同(参数个数、类型、顺序)
与修饰符和返回值类型无关