1、方法概念
方法也叫函数,是一组代码语句的封装,从而实现代码重用,从而减少冗余代码,通常是一个独立功能的定义,方法是一个类中最基本的功能单元。
eg:键盘输入
Scanner input = new Scanner(System.in);
input.nextInt()的nextInt()方法
1.1方法特点
(1)必须先声明后使用
(2)不调用不执行,调用一次执行一次。
2、如何声明方法
①声明方法必须在类中方法外,不能在一个方法中进行嵌套另一个方法
eg:
类{
方法1(){
}
方法2(){
}
}
②声明方法的语法格式
【修饰符】 返回值类型 方法名(【形参列表 】)【throws 异常列表】{
方法体的功能代码
}
-
修饰符:可选的。方法的修饰符也有很多,例如:public、protected、private、static、abstract、native、final、synchronized等,后面会一一学习。其中根据是否有static,可以将方法分为静态方法和非静态方法。其中静态方法又称为类方法,非静态方法又称为实例方法。==接下来咱们先学习实例方法==。
返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
-
基本数据类型
-
引用数据类型
-
无返回值类型:void
方法名:给方法起一个名字,见名知意,能准确代表该方法功能的名字
参数列表:表示完成方法体功能时需要外部提供的数据列表
-
无论是否有参数,()不能省略
-
如果有参数,每一个参数都要指定数据类型和参数名,多个参数之间使用逗号分隔,例如:
-
一个参数: (数据类型 参数名)
-
二个参数: (数据类型1 参数1, 数据类型2 参数2)
-
-
参数的类型可以是基本数据类型、引用数据类型
-
throws 异常列表:可选,在异常章节再讲
(3)方法体:方法体必须有{}括起来,在{}中编写完成方法功能的代码
关于方法体中return语句的说明:
-
return语句的作用是结束方法的执行,并将方法的结果返回去
-
如果返回值类型不是void,方法体中必须保证一定有 return 返回值; 语句,并且要求该返回值结果的类型与声明的返回值类型一致或兼容。
-
如果返回值类型为void时,方法体中可以没有return语句,如果要用return语句提前结束方法的执行,那么return后面不能跟返回值,直接写return ; 就可以。
-
return语句后面就不能再写其他代码了,否则会报错:Unreachable code
3、调用实例方法
3.1、方法调用语法格式
对象.非静态方法(【实参列表】)
3.2形参和实参
-
形参(formal parameter):在定义方法时方法名后面括号中声明的变量称为形式参数(简称形参)即形参出现在方法定义时。
-
实参(actual parameter):调用方法时方法名后面括号中的使用的值/变量/表达式称为实际参数(简称实参)即实参出现在方法调用时。
-
无论是否有参数,声明方法和调用方法是()都不能丢失。
3.3返回值问题
-
方法调用表达式是一个特殊的表达式:
-
如果被调用方法的返回值类型是void,调用时不需要也不能接收和处理(打印或参与计算)返回值结果。
-
如果被调用方法有返回值,即返回值类型不是void,
-
方法调用表达式的结果可以作为赋值表达式的值,
-
方法调用表达式的结果可以作为计算表达式的一个操作数,
-
方法调用表达式的结果可以作为另一次方法调用的实参,
-
方法调用表达式的结果可以不接收和处理,方法调用表达式直接加;成为一个独立的语句,这种情况,返回值丢失。
-
3.4实例方法使用当前对象的成员
在实例方法中还可以使用当前对象的其他成员方法。JAVA中当前对象用this来表示。
- this:在实例方法中,表示调用该方法的对象
- 如果没有歧义(即属性名与变量名不一致),可以省略this。