码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础学习笔记 -- 11(方法、重载、递归)

时间:2015-05-22 02:07:11      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:参数传递   方法   重载   递归   

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

Java基础学习笔记 -- 11(方法、重载、递归)

标签:参数传递   方法   重载   递归   

原文地址:http://kingkongzhao.blog.51cto.com/6319491/1653620

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!