1. 方法
1)方法作用:
封装一段特定的逻辑功能 ,使程序结构清晰、便于代码的重复使用
2)方法的定义:
方法的主要三要素:方法名、参数列表、返回值。
修饰词 返回值类型 方法名( 参数列表 ) {
方法体
}
说明:
① 返回值类型:
方法需返回结果时使用,无返回值为void,有返回值时设计为特定数据类型即可 。
② 参数列表:参数的设计,使方法处理更灵活,参数根据需求是可有可无的。
3)方法的调用:
根据有无返回值或者是有无参数,以及调用情况,有以下的调用方法
① 方法名();
② 方法名(参数值);
③ 数据类型 变量 = 方法名();
④ 数据类型 变量 = 方法名(参数值);
⑤ 对象.方法名();
⑥ 对象.方法名(参数值);
⑦ 数据类型 变量 = 对象.方法名();
⑧ 数据类型 变量 = 对象.方法名(参数值);
案例38:
2. 方法的重载(overload)
方法的签名包含如下两个方面:方法名和参数列表。Java语法规定,一个类中不可以有两个方法签名完全相同的方法,即:一个类中不可以有两个方法的方法名和参数列表都完全相同,但是,如果一个类的两个方法只是方法名相同而参数列表不同,是可以的。
** 方法的重载是与返回值类型无关的。
案例39:
3. 参数的传递
Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
如果参数类型是基本类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值.
如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的 地址,所以不会改变参数的值。
4. 递归
递归调用:方法中调用了方法本身,用递归解决问题比较简练,只需考虑一层逻辑即可!一定要有结束条件(如:f(1)=1;)。
递归的思想就是数学上的递推思想。比如: 阶乘 4! = 4*3*2*1, 3! = 3*2*1, 2! = 2*1, 1! = 1; 必须有一个终止值。
递归层次不能太深。总之:慎用递归!
案例40:
案例41:
本文出自 “永远年轻” 博客,请务必保留此出处http://kingkongzhao.blog.51cto.com/6319491/1653620
原文地址:http://kingkongzhao.blog.51cto.com/6319491/1653620