java方法重载与递归调用
2017-02-10 09:54
411 查看
java方法重载与递归调用
简介:
一个java方法由一下几部分组成修饰符: 修饰符是可选的,告诉编译器如何调用该方法。这定义了该方法的访问类型。
返回类型: 方法可以返回一个值。returnValueType的值是方法返回的数据类型。有些方法没有返回值执行所需的操作。在这种情况下,returnValueType是关键字void.
方法名称: 这是方法的实际名称。方法名和参数列表一起构成了方法签名.
参数: 参数像一个占位符. 当调用一个方法,传递一个值给参数. 这个值被称为实际参数或参数. 参数列表是指类型,顺序和方法的参数的个数. 参数是可选的,也就是说,一个方法可以包含任何参数.
方法体: 方法体包含定义哪些方法语句的集合
方法重载:
首先举个例子public class test {
public static void main(String arg[]){
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1.2,1.3));
}
public static int add(int a,int b){//方法一
return a+b;
}
public static int add(int a,int b,int c){//方法二
return a+b+c;
}
public static double add(double a,double b){//方法三
return a+b;
}
}分析:上述主类中出现了add方法三次,这就是方法的重载。重载方法需要满足什么样的条件呢?
首先方法名相同,不然就是两个不同的方法了。
其次方法的参数或者类型不同。比如方法一两个参数,方法二三个参数,这是一种重载。方法一跟方法三,都是两个参数但是一个是int一个是double,类型不同。
最后一个注意点:方法重载跟返回值无关,如果我加上一个方法四:public static int add(int a,int b){return a+b;}会报错,因为这是跟方法一一样的方法,而且要提醒的是,在开发过程中为了标准化,统一性,降低项目的不稳定性,尽量使用相同返回值的方法重载,也就是说上例中的方法三一般不建议这样使用。
递归调用:
举例:public class test {
public static void main(String arg[]){
System.out.println(sum(100));
}
public static int sum(int a){
if(a==1){
return 1;
}
return a+sum(a-1);
}
}分析:
简单点来说,递归调用就是自己调用自己。
(1):主类第一个调用sum(100)的时候return:100+sum(99);
(2):很明显第一次并没有得出准确结果,所以继续对sum(99)求解,也就有了第一次递归调用,return:99+sum(98);主方法返回的就是100+99+sum(98)
.....................
(98):第97次递归调用,return:3+sum(2);
(99):第98次递归调用,return:2+sum(1);
(100):第98次递归调用,上面sum(1)求解,我们看原方法可知,1符合结束条件,返回整型1,最终的返回结果为100+99+.......+2+1=5050;
到这我们知道这方法的作用是对1—100求和,使用的方法便是递归。
相关文章推荐
- Java方法创建和重载、递归调用
- 十天学完java基础-方法重载和递归调用
- java方法递归调用的陷阱
- 品味细节之java方法重载调用细节
- java 重载 多个方法的调用顺序
- javaSE_05Java中方法(函数)与重载、递归-练习
- Java 构造器 一道构造器调用子类重载方法的题目
- Java之调用被子类重载的方法
- 方法的创建、重载及递归调用
- Java之方法重载篇(我重载了,你要如何来调用我。。)
- java 方法的递归调用
- Java基础学习笔记 -- 11(方法、重载、递归)
- Java方法的递归调用,类对的声明及使用
- 【JAVA】23、方法的递归调用
- 方法的创建、重载及递归调用
- [Java] this 调用重载构造方法
- 品味细节之java方法重载调用细节
- Java调用重载方法(invokevirtual)和接口方法(invokeinterface)的解析
- java中方法的知识点和递归调用
- java中重载方法与覆盖方法调用规则