未知數據

          從頭看Java

             ::  :: 聯系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          java方法

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

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

                 3. 永遠不可能獨立執行方法,執行方法必須使用類或對象作為調用者.包括隱式的this對象

          1. 常用的修飾符:

              static 可用于修飾方法,屬性等成員.修飾成員表示這個成員是屬于這個類所共有的,而不是屬于這個類的某一個實例.不使用static的成員則表示,這些成員是屬于該類的某一個實例,而不是屬于這個類.靜態成員不能訪問非靜態成員.

          2. 方法的參數傳遞機制

                 java方法的參數傳遞機制:值傳遞.所謂值傳遞,就是將實際參數的副本傳入方法內,而參數本身不受任何影響.

                 基本數據類型和引用類型都是采用值傳遞的方式進行.但如果傳遞的是引用類型,雖然傳入方法內的是引用類型變量的一個副本,但兩個引用類型變量都是指向了同一個堆內存中的對象,通過任何一個引用變量對對象進行操作,都會對這個對象產生影響.

          public class Test { 
          
          //基本數據類型的值傳遞
          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. 形參長度可變的方法

             長度可變的形參只能位于形參隊列的最后,一個方法中只能出現一個長度可變的形參.這個長度可變的形參可以傳入多個參數,也可以傳入一個數組

          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"));//可以傳入多個String
            String[] tmp = {"Hello","!","world"};
            System.out.println(t.test(tmp));//也可以傳入一個String數組
          } 
          
          } 
          

          4. 方法重載

             1. 出現在同一個類中

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

             3. 方法的其他屬性如返回值類型,修飾符等與方法重載無關

          5. 方法重寫

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

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

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

          6. 構造器

             1. 每個java類都至少有一個構造器,如果沒有顯式的提供,系統會提供一個無參數的執行體為空的構造器

             2. 構造器可以重載,每個不同的構造器之間可使用this相互調用,且只能在第一行調用

          posted on 2009-01-05 20:50 wangjc 閱讀(459) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 霞浦县| 信阳市| 贺州市| 沾化县| 麻阳| 读书| 贵南县| 呼图壁县| 乐东| 麟游县| 孟州市| 龙泉市| 博湖县| 双流县| 明光市| 静乐县| 仁布县| 贵溪市| 专栏| 隆回县| 镇赉县| 常德市| 万全县| 吴川市| 理塘县| 乌兰浩特市| 兴和县| 武城县| 徐闻县| 广南县| 东辽县| 伊春市| 临海市| 江门市| 休宁县| 闻喜县| 江城| 南江县| 松滋市| 塔河县| 霍城县|