• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Java 多態(tài)性淺析

      2012-08-16 06:29:26
      科技視界 2012年21期
      關鍵詞:構造方法子類字符串

      龍 軍

      (??诮洕鷮W院 海南 ???570203)

      在面向對象的程序設計中,多態(tài)指的是一個名詞可以有多個語義,Java 的多態(tài)性是通過繼承中的覆蓋(動態(tài)多態(tài)性)和方法的重載(靜態(tài)多態(tài)性)實現(xiàn)的。

      1 方法重載(Overloading)

      Java 允許在一個類中有同名的多個方法存在,但要求參數(shù)列表不同,叫做方法重載。 這里的方法指具有相似功能的成員方法或構造方法,不同的參數(shù)列表指的是方法的參數(shù)個數(shù)或參數(shù)的數(shù)據(jù)類型或對應位置上的參數(shù)類型不同。 筆者通過下面的例子做一說明,首先做一個名叫ffcz 的類,在其中分別編寫幾個同名方法,再做一個名叫cz 的Application 類,在main 方法中生成ffcz 類的對象實例,依次調用成員方法并體現(xiàn)結果。

      1.1 編寫ffcz 類

      1.1.1 在類中聲明String 類型的成員變量mc。

      1.1.2 編寫傳入一個字符串參數(shù)的方法,直接將傳入?yún)?shù)的值賦給成員變量。

      1.1.3 編寫傳入字符串和整數(shù)兩個參數(shù)的方法,按第二個參數(shù)對第一個參數(shù)處理后賦給成員變量。

      1.1.4 編寫傳入一個整數(shù)參數(shù)的方法,根據(jù)傳入?yún)?shù)的值給成員變量賦值。

      1.1.5 編寫傳入兩個字符串參數(shù)的方法,將兩個參數(shù)連到一起賦給成員變量。

      1.2 編寫cz 類

      在main 方法中生成ffcz 類對象的實例,再調用各set_mc方法并體現(xiàn)成員變量mc。

      1.3 運行結果分析

      結果表明Java 的編譯器會根據(jù)參數(shù)列表的不同來選擇具體調用的方法。

      2 方法重寫(Overriding)

      當子類的成員變量和父類的成員變量同名時,父類的成員變量被隱藏,如果是成員方法同名,父類的成員方法被覆蓋,也叫方法重寫。 重寫要求子類和父類有相同的方法名稱,且返回類型及參數(shù)列表也完全相同。 當子類方法的訪問權限與父類的不同時,要求子類方法的權限更大。 筆者通過構建一個父類(ffcx)、一個子類(ffcx1)和一個Application 類(cx),在父類中編寫一個構造方法和設置字符串的的方法,采用子類中無方法和重寫父類寫方法兩種形式,在cx 中體現(xiàn)結果。

      2.1 子類中無方法

      2.1.1 編寫父類ffcx,在父類中聲明一字符串如mc,再編寫構造方法給mc 賦初值,編寫set_mc 方法,將傳入的參數(shù)值賦給mc。

      2.1.2 編寫空的子類ffcx1。

      public class ffcx1 extends ffcx{ }

      2.1.3 編寫Application 類cx,在main 方法中生成ffcx1 的對象實例,并體現(xiàn)出mc。

      ffcx1 o1=new ffcx1();

      System.out.println(o1.mc);

      o1.set_mc("這是關于方法重寫的示例");

      System.out.println(o1.mc);

      2.1.4 運行結果分析,運行Application 類。

      結果表明,雖然ffcx1 類體中沒有任何代碼,但父類中屬性和方法被子類繼承了。

      2.2 子類中有方法

      2.2.1 在子類中重寫構造方法和set_mc 方法,賦給mc 不同的值。

      2.2.2 運行結果分析,運行Application 類。

      結果表明,當在子類中加入與父類同名的方法后,程序調用的是子類的方法,即子類重寫了父類的方法。

      3 重載與重寫的總結

      重載和重寫的方法名稱都相同,但重載要求參數(shù)列表不同,重寫要求參數(shù)列表完全相同。 重載是在一個類中,對方法前面的修飾符沒有限制,重寫是子類對父類方法重寫,對修飾符的使用有限制。

      總之,Java 的多態(tài)性就是“一個接口,多種方法”。 通過重載和重寫,提高了程序的可讀性和可擴展性,使類的結構更加清晰、簡潔。

      [1]胡書敏.Java 第一步[M].清華大學出版社,ISBN:7-302-18607-6.

      [2]雍俊海.Visual C++大學教程[M].清華大學出版社,ISBN:7-302-12671-3.

      猜你喜歡
      構造方法子類字符串
      DC-DC變換器分層級構造方法
      卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計
      關于對稱共軛點的倒星象函數(shù)某些子類的系數(shù)估計
      《夢溪筆談》“甲子納音”構造方法的數(shù)學分析
      幾乎最佳屏蔽二進序列偶構造方法
      一種新的基于對稱性的字符串相似性處理算法
      依據(jù)字符串匹配的中文分詞模型研究
      塊H矩陣新的子類
      漢語新術語構造方法的優(yōu)先選擇
      一種針對Java中字符串的內存管理方案
      牙克石市| 万州区| 会理县| 灵丘县| 凤阳县| 潜江市| 玉溪市| 临泽县| 巴林右旗| 永修县| 柘城县| 武汉市| 河南省| 卫辉市| 无棣县| 乐安县| 平度市| 绥化市| 永修县| 吉隆县| 监利县| 黑河市| 德江县| 含山县| 涞水县| 志丹县| 许昌市| 河津市| 莎车县| 宜春市| 阳高县| 伊川县| 博湖县| 霍邱县| 南阳市| 北京市| 绥宁县| 故城县| 巨野县| 宣汉县| 晋江市|