Method Description

method

概念:方法是一个代码段的抽取(函数,功能)
好处:降低了程序的冗余,提高了代码的复用性,隐藏了功能的实现细节

## 一 、定义
    格式:
        修饰符 返回类型 方法名(参数列表){
            方法体
            return;(返回类型是void时,没有return)
        }

    修饰符:固定是public static

    返回类型: 方法结束后 会得到一个具体的结果返回给调用者

    方法名:方法的名字(见名知意)

    参数列表:功能执行时需要的一些基本内容

    方法体;具体功能的实现

    return:关键字,用来返回数据,并且结束方法

## 二、 参数列表、返回类型和方法体的关系

    方法:理解为工厂

    参数列表:原材料

    返回类型:产品


## 三、 方法的分类

    ### 3.1  无返回的方法

        方法可以执行具有的功能,但是执行完毕后没有返回值,这类方法的返回类都是void

    ### 3.2 有返回的方法

        方法执行完毕后,会将返回值返回给调用者,这类方法的返回类型是具体的某种类型


## 四、 方法的使用

    调用格式:
        方法名(参数列表);



## 五、 参数列表

     ### 5.1 分类:
        形式参数:形参在方法的定义中,不真正的参与运算,作用是告知调用者方法的执行需要哪些类型和个数的参数

        形参的变量名是任意的,但是遵循驼峰命名规则

        实际参数: 简称:实参,在方法的调用中,是真正参与运算的数据


     ### 5.2 参数类型:任意类型,如果是基本数据类型,传递的就是数据值;如果是引用类型,传递的是地址值


       注:如果是基本数据类型(存储在栈内存),在主函数中定义过 ,拿到其他方法中做运算,完毕之后,在该方法中就已经释放,在主函数中打印该变量,  值不变

       而引用数据类型  真实值存在堆内存中,即使将栈内存的地址释放,,其真实值依然是改变过了,再打印,就会是改变之后的值


       值传递:
            传递的数据是基本数据类型,形参的作用于就在当前方法中,随着方法的释放,值也会被释放。

       引用传递:
            传递的是引用数据类型的地址,引用数据类型创建出的内容都在堆内存中,不会随着栈中方法的释放而释放。



      ### 5.3 可变参数:
            格式:
                数据类型...变量名

            特点:
                1、参数的个数可以是任意的
                2、可变参数的本质是数组
                3、可变参数必须出现在参数列表的末位



## 六、 方法的重载 
    概念:在同一个类中,多个方法具有相同的方法名,且参数列表各不相同,就形成方法的重载

    特点:1、方法名相同
         2、参数列表不同(个数不同,类型不同,顺序不同)

    好处:只需要明确想要执行的功能,就能找到对应的方法,而不需要针对相类似的功能去记忆各个方法名不同的方法。


    ## 七、 成员变量和局部变量

        成员(全局):定义在方法外,类中的变量

        局部:定义在方法内的变量


    注:
        1、
            变量的使用范围是在它所定义的代码段中,成员内容能在当前类的任意位置使用,局部内容只能在它所在的方法中使用

        2、
            就近原则:方法中使用变量时,优先使用本方法中定义的内容,本方法中如果没有,则使用成员的,如果成员中也没有定义,则显示错误


    成员变量和局部变量的区别:
            1、定义位置不同,成员变量在类中,局部变量在方法中。
            2、默认值不同,成员变量有默认值,局部变量没有默认值
            3、作用范围不同,成员变量可以在本类中的任意位置,局部变量只能在方法中使用
            4、内存中的存储位置不同,成员变量在堆中局部变量在栈中
            5、使用时间不同,局部变量是从入栈到出栈,成员变量是从类开始,到被垃圾回收机制回收



## 八、 返回类型

    概念:表示当方法运行完毕后,会将结果通过return关键字返回给调用者


    关键字return:
        功能:
            1、将方法的结果返回给调用者,返回的结果可以是表达式
            2、用于结束方法

        注:
            1、如果方法返回类型是void,在方法末尾处有一个隐式的return来完成方法的结束,此时return后不能有数据,直接以分号结束

            2、如果方法的返回类型不是void,那么方法必须有renturn执行的返回,并且return后必须跟上范围小于等于返回类型的结果

            3、return之后不能再有语句


## 九、 方法的注意事项

    1、方法定义的位置是任意的
    2、方法体中不能再定义方法
    3、方法的执行,只有在方法被调用后才能执行,才会进入栈中

Guess you like

Origin www.cnblogs.com/LTJAVA/p/11368794.html