JavaSe基础:方法的定义及调用、重载
方法:
方法是什么:
通俗一点来说:在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。在Java中则是为了实现某种功能的,可以被重复调用的代码段。
方法的优点:
1、使用方法可以提高代码的复用性:
因为它是定义在类里面方法外面,只有调用的时候才会执行,而且可以被重复使用,以用来实现某种独立的功能;
2、方法便于后期维护:
每个方法块都是独立的,便于后期修改内容;
方法的定义:
定义方法的分析步骤
1.方法的需求
2.返回值---------是否有返回值,什么数据类型
3.参数------------是否需要定义参数
4.方法名---------见名知意
方法分为有返回值类型、无返回值类型两种:
有返回值类型的方法
修饰符 返回值类型 方法名(参数列表){
实现功能的代码段;
return 返回值;
}
无返回值类型的方法
修饰符 void 方法名(参数列表){
方法体语句;
return;
}
修饰符:
表示访问权限修饰符,一般默认为public static;
返回值类型:
方法体代码执行完毕之后,是否需要得到一个结果或者数据值,如果需要就定义为有返回值类型的方法,不需要就定义为没有返回值类型的方法;
方法名:
用来调用该方法使用的标识符,遵循标识符的命名规范,驼峰命名法;
参数列表:
可以定义参数,可以不定义参数,可以定义多个参数;
如果在方法的实现过程中存在未知、不确定、可能会改变的数据,那么就定义在方法的参数列表上,定义参数和定义变量的格式相同,可以为任意的数据类型;
方法的参数:
1.形式参数(形参) : 定义方法时()中的参数
2.实际参数(实参) : 调用方法时()中的参数
形参与实参之间需要一一对应,个数一致,类型一致,不同类型的形参顺序一致;
tips:1、形参如果不赋值,是没有默认值的;
2、接收返回值类型的变量同样适用于自动类型转换,也就是大类包括小类;
return:
有两个作用:1、提前结束方法,2、带出返回值给到调用处;
tips:1、在一个有返回值类型的方法必须 存在return关键字;
2、return后面执行不到的语句会报错,没有执行时机,为不可达语句;
方法的调用:
1、普通调用: 方法名(参数列表);
有返回值类型的方法调用时候需要接收返回值
没有返回值类型的方法,只能使用普通调用!!
2、赋值调用
数据类型 变量名 = 方法名(参数列表);
System.out.println(变量名);
3、输出调用
System.out.println(方法名(参数列表));
public class Class001_Method {
//类中方法外的位置
public static void main(String[] args) {
//赋值调用
double d = getPI();
System.out.println(d);
//输出调用
System.out.println(getPI());
System.out.println(getSum(3,5));
//普通调用:无法接受返回值
getPI();
}
方法的重载:
方法重载的前提:
当一个类中实现某个功能的时候,这个功能却有不同的实现方式或者需要接受不同的参数,可以让这些相同功能实现的方法,这就构成方法的重载;多个方法的方法名相同。
方法重载的要求:
1、同一个类中的多个方法
2、方法名相同
3、参数列表不同(也叫做方法签名不同,方法签名就是方法名+参数列表)
tips:参数列表不同具体表现在:参数个数不同、参数的类型不同、不同类型的参数顺序不同;
方法重载的调用:
在调用处输入方法名(实参),由输入的实参(数量、数据类型等等)决定重载方法的调用;
public static void main(String[] args) {
getSum(1,1.1);
}
//对数求和
public static void getSum(int x,int y){
System.out.println("两个int类型参数的和"+(x+y));
}
public static void getSum(int x,int y,int z){
System.out.println("三个int类型参数的和"+(x+y+z));
}
public static void getSum(int x,double y){
System.out.println("一个int,一个double类型参数的和"+(x+y));
}
public static void getSum(double y,int x){
System.out.println("一个double,一个int类型参数的和"+(x+y));
}
递归:
定义:在方法定义中调用方法本身
递归的优缺点:
优点:用在合理的位置可以简化代码结构;
缺点:如果代码结构复杂,可能会大量占用内存,造成内存溢出,降低效率。
临界条件: 停止自己调用自己的条件
递归前进段: 不停的自己调用自己,知道临界条件之间这个过程
递归后退段: 从临界条件开始,将结果返回给调用的上一层的过程
public static void main(String[] args) {
System.out.println(recursion(3));;
}
//递归 : 求某个数阶乘 5! = 5*4!
//返回值: 需要 int
//参数: int i
public static int recursion(int i){
//临界条件
if(i==1){
return 1;
}
return i * recursion(i-1);
}
上一篇: C语言:函数的递归调用
下一篇: 什么是PHP垃圾回收机制