未知數(shù)據(jù)

          從頭看Java

             ::  :: 聯(lián)系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          java方法

                 1. java中方法不能單獨(dú)存在,所有方法必須定義在類中.

                 2. 從邏輯上說(shuō),一個(gè)方法要么屬于一個(gè)對(duì)象,要么屬于一個(gè)類(使用static修改的方法)

                 3. 永遠(yuǎn)不可能獨(dú)立執(zhí)行方法,執(zhí)行方法必須使用類或?qū)ο笞鳛檎{(diào)用者.包括隱式的this對(duì)象

          1. 常用的修飾符:

              static 可用于修飾方法,屬性等成員.修飾成員表示這個(gè)成員是屬于這個(gè)類所共有的,而不是屬于這個(gè)類的某一個(gè)實(shí)例.不使用static的成員則表示,這些成員是屬于該類的某一個(gè)實(shí)例,而不是屬于這個(gè)類.靜態(tài)成員不能訪問(wèn)非靜態(tài)成員.

          2. 方法的參數(shù)傳遞機(jī)制

                 java方法的參數(shù)傳遞機(jī)制:值傳遞.所謂值傳遞,就是將實(shí)際參數(shù)的副本傳入方法內(nèi),而參數(shù)本身不受任何影響.

                 基本數(shù)據(jù)類型和引用類型都是采用值傳遞的方式進(jìn)行.但如果傳遞的是引用類型,雖然傳入方法內(nèi)的是引用類型變量的一個(gè)副本,但兩個(gè)引用類型變量都是指向了同一個(gè)堆內(nèi)存中的對(duì)象,通過(guò)任何一個(gè)引用變量對(duì)對(duì)象進(jìn)行操作,都會(huì)對(duì)這個(gè)對(duì)象產(chǎn)生影響.

          public class Test { 
          
          //基本數(shù)據(jù)類型的值傳遞
          private static void swap(int a ,int b) {
            int tmp = a;
            a = b;
            b = tmp;
            System.out.println("swap()方法中:a="+a+",b="+b);
          }
          // 引用類型的值傳遞
          private static void swap2(Obj o) {
            int tmp = o.a;
            o.a = o.b;
            o.b = tmp;
            System.out.println("swap2()方法中:a="+o.a+",b="+o.b);
          }
          public static void main(String[] args) {
            int a = 10;
            int b = 20;
            swap(a,b);
            System.out.println("swap()方法外:a="+a+",b="+b);
            Obj o = new Obj();
            swap2(o);
            System.out.println("swap2()方法中:a="+o.a+",b="+o.b);
          }
          } 
          

          3. 形參長(zhǎng)度可變的方法

             長(zhǎng)度可變的形參只能位于形參隊(duì)列的最后,一個(gè)方法中只能出現(xiàn)一個(gè)長(zhǎng)度可變的形參.這個(gè)長(zhǎng)度可變的形參可以傳入多個(gè)參數(shù),也可以傳入一個(gè)數(shù)組

          public class Test3 { 
          
          public String test(String... Strs) {
            String result = "";
            for (String tmp : Strs) {
             result += tmp;
            }
            return result;
          }
          public static void main(String[] args) {
            Test3 t = new Test3();
            System.out.println(t.test("Hello","!","world"));//可以傳入多個(gè)String
            String[] tmp = {"Hello","!","world"};
            System.out.println(t.test(tmp));//也可以傳入一個(gè)String數(shù)組
          } 
          
          } 
          

          4. 方法重載

             1. 出現(xiàn)在同一個(gè)類中

             2. 方法名相同,方法的形參列表不同

             3. 方法的其他屬性如返回值類型,修飾符等與方法重載無(wú)關(guān)

          5. 方法重寫

              1. 出現(xiàn)在繼承中,子類和父類同名的方法之間

              2. 方法名,方法形參列表相同;返回值類型,子類比父類更小或相等;拋出的異常,子類比父類更小或相等;訪問(wèn)權(quán)限,子類比父類更大或相等;二者必須同時(shí)為實(shí)例方法,或同時(shí)為類方法

              3. 私有的父類方法,是不能被重寫的

          6. 構(gòu)造器

             1. 每個(gè)java類都至少有一個(gè)構(gòu)造器,如果沒有顯式的提供,系統(tǒng)會(huì)提供一個(gè)無(wú)參數(shù)的執(zhí)行體為空的構(gòu)造器

             2. 構(gòu)造器可以重載,每個(gè)不同的構(gòu)造器之間可使用this相互調(diào)用,且只能在第一行調(diào)用

          posted on 2009-01-05 20:50 wangjc 閱讀(460) 評(píng)論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 新干县| 陵水| 攀枝花市| 洞口县| 林芝县| 樟树市| 平凉市| 隆化县| 安庆市| 来凤县| 柳江县| 德昌县| 临颍县| 宁乡县| 大渡口区| 渝中区| 凭祥市| 舞阳县| 乌鲁木齐市| 辽阳县| 姚安县| 布拖县| 辛集市| 沙田区| 平度市| 乳源| 临桂县| 顺平县| 松溪县| 嘉义县| 高碑店市| 思茅市| 嘉峪关市| 虹口区| 石门县| 舞阳县| 商水县| 黄浦区| 法库县| 华亭县| 壤塘县|