1.什么是方法
方法就是把一堆需要反复执行的业务逻辑代码封装起来,如果程序需要使用这段代码的时候,我们直接调用方法即可,就不需要反复去写重复的代码了
优点:提高代码的重用性,维护性,可读性好,执行效率高
可以把方法比喻成一个榨汁机
材料:水果
产出物:果汁
映射到java中:
材料(参数):进入方法的数据
产出物(返回值):方法根据参数处理后的结果
2.如何定义方法
(1)有返回值的方法:
格式:
访问修饰符[static] 方法的返回值类型 方法名(形参列表){
return 返回值;
}
例:public static void main(String[] args){ }
public:访问修饰符
static:静态 可加可不加
void:方法的返回值类型 void代表没有返回值
main:方法名
String[] args:形参列表
①访问修饰符(权限修饰符)
public:公共的,在当前项目下的任何地方都可以调用
private:私有的,只能在当前类下面访问
protected:受保护的,在同一个包或者其他派生类中可以访问
default:缺省,只能在当前包下面进行访问
②方法的返回值类型:方法执行完成以后最终产生的结果是什么类型的
③方法名:自己定义的名字,首字母小写,驼峰式命名法
get开头:查询方法 getStudentById
set开头:修改方法
④形参列表:由多个形参组成的列表 例:(int a,int b)
形参:用于接收调用者实际传过来的数据
⑤return:
(1)把方法最终处理的结果返回给调用者
(2)结束当前方法
注意:返回的数据类型必须要和返回值类型一致
- 例:计算a+b的和(有返回值)
有static的原因:main方法是一个静态方法
一个静态方法里面只能调用静态方法或者静态变量
调用方法:
(2)无返回值的方法:
方法执行一些操作,没有把执行结果返回给调用者,只是执行了方法的方法体
格式:
访问修饰符[static] void 方法名(形参列表){
方法体;
return;//可写可不写
}- 例:打印十遍好好学习
3.参数传递
调用者在调用方法的时候,向方法内传入数据的一系列动作
形参:在【定义】方法的时候,写在小括号里面的参数 作用:接收调用者传递的数据
实参:在【调用】方法的时候,真正传递到方法的数据
参数传递有两种类型:
基本数据类型(以及String):形参的操作不会影响实际的参数
- 例:打印十遍好好学习
引用数据类型(除了String以外):形参的操作会影响实际参数
4.方法重载
对于类似累加的操作,因为形参列表不同,所以定义了多个方法名
弊端:麻烦;调用者需要记住多个方法名,如果方法名过多,有可能出现调用错误的情况;
可不可以把这些类似的操作起一个方法名?
可以,使用方法重载
- 什么是方法重载?
方法名必须相同,参数列表必须不相同
- 参数列表不相同体现在:(三选一即可)
①参数列表的个数不同 和参数名没有关系,参数只是一个名字
方法重载和返回值类型无关(前面的double)
②参数的类型不同
③参数类型的顺序不同
- 例题:与void add(inta,charb,doublec){}构成重载的有:
N void add(int x,chary,doublez){}
Y int add(int a,doublec,charb){}
Y void add(int a,doublec,charb){}
Y booleanadd(int c,charb){}
Y void add(double c){}
N double add(int x,chary,doublez){}
N void adds(){double c}
Y String add(int a,intb,doblec){}
Y String add(int a,doubleb,doblec){}
N String add(int a,charb,doblec){}