目录
类的结构之二:方法
方法:描述类应该具有的功能。
比如: Math类: sgrt()\random() \...
Scanner类: nextXxx() ...
Arrays类: sort() \ binarySearch() \ toString() \ equals() \ ...
1、举例
public void eat(){}
public void sleep(int hour){}
public String getName(){}
public String getNation(String nation){}
2、方法的声明
权限修饰符 返回值举型 方法名(形参列表){
方法体
}
3、说明
3.1关于权限修饰符:默认方法的权限修饰符先都使用public
Java规定的4种权限修饰符: private、 public、 缺省、protected
3.2返回值类型: 返回值vs无返回值
3.2.1 如果方法返回值,则必须在方法声明时,指定返回值的类型。同时,方法中,需要使
用return关键字来返回指定类型的变量或常量:“return 数据”。如果方法没返回值,则方法声明时,使用void来表示。通常,没返回值的方法中,就不需要使用return。但是,如果使用的话,只能“return;"表示结束此方法的意思。
3.2.2定义方法该不该返回值?
①题目要求
②凭经验:具体问题具体分析
3.3方法名:属于标识符,遵循标识符的规则和规范,“见名知意”
3.4形参列表:方法可以声明0个,1个,或多个形参。
3.4.1格式:数据类型1形参1,数据类型2形参2,...
3.4.2我们定义方法时,该不该定义形参?
②题目要求
②凭经验:具体问题具体分析
3.5方法体:方法功能的体现。
return关键字
1.使用范围:使用在方法体中
2.作用: ①结束方法
②针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。
3.注意点: return关键字后面不可以声明执行语句。
4、方法的重载
重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同。
“两同一不同”:同一个类、相同方法名
参数列表不同:参数个数不同,参数类型不同
判断是否是重载:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系
举例:Arrays类中重载的sort()/binarySearch()
在通过对象调用方法时,如何确定某一个指定的方法:
方法名--->参数列表
5、可变个数的形参
1.定义:允许直接定义能和多个实参相匹配的形参(Varargs机制)
2.具体使用:
2.1 可变个数形参的格式:数据类型 . . .变量
2.2 当调用可变个数形参的方法时,传入的参数个数可以使:0个,1个,2个....
2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的方法之间不构成重载
2.5 可变个数形参在方法的形参中,必须声明在末尾
2.6 可变个数形参在方法的形参中,最多只能声明一个可变形参
6、方法参数的值传递机制(重点)
关于变量的赋值 :
如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
方法的形参的传递机制:值传递
1. 形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据
2.值传递机制:
如果参数是基本数据类型,此时实参赋给形参的是,实参真实存储的数据值
如果参数是引用数据类型,此时实参赋给形参的是,实参存储数据的地址值
7、递归方法
定义:一个方法体呢调用她它自身