一、方法的声明定义
1、概述
方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的可复用的功能。当需要这个功能的时候,就去调用这个方法,这样即实现了代码的复用性,也解决了代码冗余的现象。
2、定义方法
语法格式:
修饰符 返回值类型 方法名(参数列表){
//方法体 代码省略...
return 结果;
}
-
- 修饰符:public 为公开的,static 为静态的,(后面有更加的修饰符讲解)
- 返回值类型:表示方法运行的结果的数据类型,方法执行后将结果返回到调用处;
- 方法名:自定义的方法名,满足标识符的规范,用来调用方法;(采用小驼峰命名)
- 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递;
- 方法体:方法需要做的事情,若干行代码;
- return:方法的返回值,两个作用,第一停止当前方法;第二将后面的返回值还给调用处;
三要素:
返回值类型;方法名称;参数列表;
扩展:
根据是否含有参数又把方法分为 两类:
有参方法:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
无参方法:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
Tips:其中,写在方法括号中的参数称为 形参,而在实际调用中的参数称为 实参。
3、定义方法的注意事项
-
- 方法必须定义在类中方法外面;
- 方法定义的先后顺序无所谓;
- 方法不能定义在另一个方法的里面,即不能产生嵌套包含关系;
- 如果方法有返回值,那么必须写上 “return 返回值;”,不能没有。
- 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败;
- 不能在 return 后面写代码,return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码;
- 对于一个 void 没有返回值的方法,不能写 return 后面的返回值,只能写 return 自己。
- 对于 void 方法当中最后一行的 return 可以省略不写。
- 一个方法当中可以有多个 return 语句,但是必须保证同时只有一个会被执行到,两个 return 不能连写。
二、方法的调用
1、调用方法
方法在定义完毕后,方法不会自己运行,必须被调用才能执行,可以在主方法main中来调用已经定义好的方法。
如果在同一个类中,可以在主方法中,直接写要调用的方法名字就可以调用了。
2、方法的调用格式
(1)如果本类中同级别方法调用:直接调用即可。
【变量 = 】 方法名(【实参列表】);
(2)在其他类中的方法调用:
【变量 = 】 对象名.方法名(【实参列表】);
注意:
① 是否传入实参:看被调用的方法是否有形参;
② 是否接受返回值:看被调用的方法是否为 void,如果是 void,就不需要也不能接受;如果不是void,可以接受返回值。
3、调用方法的流程
4、调用方法的三种形式
-
- 直接调用:直接写方法名调用;
- 赋值调用:调用方法,在方法前面定义变量,接收方法返回值 数据类型 变量名称 = 方法名称(参数);
- 输出语句调用:在输出语句中调用方法, System.out.println(方法名()) 。不能用输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容。
5、方法声明与调用的原则
(1)方法必须先声明后调用
如果调用方法时,如果方法名写错或调用一个不存在的方法,编译会报错。
(2)方法声明的位置必须在类中方法外,不能互相嵌套
正确示例:
类 {
方法1() {
}
方法2() {
}
}
(3)方法的调用的位置有要求,必须在方法中调用方法
正确示例:
类 {
方法1() {
调用方法;
}
}
(4)方法的调用格式要与方法的声明格式对应
① 是否要加"对象":看是否在本类中,还是在其他类中
② 是否要接受返回值:看被调用方法是否是 void
③ 是否要传实参:看被调用方法是否有形参列表