亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java語言中方法重載與方法覆蓋的異同

        2017-05-10 23:49:03李娜
        電子技術(shù)與軟件工程 2017年8期
        關(guān)鍵詞:多態(tài)

        李娜

        摘 要

        面向?qū)ο缶幊逃腥筇匦裕悍庋b、繼承、多態(tài),本文主要談?wù)勂渲兄欢鄳B(tài)的兩種實現(xiàn)方式——方法重載與方法覆蓋,并比較它們的異同。

        【關(guān)鍵詞】Java 多態(tài) 方法重載 方法覆蓋

        在Java語言的學(xué)習(xí)過程中,初學(xué)者經(jīng)常分不清重載與覆蓋,實際上,方法重載(Overload)和方法覆蓋(Override,也叫重寫)都是Java多態(tài)性的體現(xiàn),只是形式不同,在此,筆者簡單地談一談兩者的異同。

        1 方法重載與方法覆蓋的特點

        1.1 方法重載的特點

        Java語言中的方法重載就是在類中可以創(chuàng)建多個方法,實際上就是一個類中多態(tài)性的一種表現(xiàn),也叫靜態(tài)多態(tài)。

        如下面的例子:

        1 class DBUtil{

        2 private String server="127.0.0.1";//服務(wù)器地址

        3 private String db="HRDB";//數(shù)據(jù)庫名稱

        4 public String getDBUrl(String server,String db){//重載方法

        5 return "jdbc:sqlserver://"+server+":1433; DatabaseName="+db;

        6 }

        7 public String getDBUrl(String server){ //重載方法

        8 return getDBUrl(server,db);

        9 }

        10 public String getDBUrl(){//重載方法

        11 return getDBUrl(server,db);

        12 }

        13 }

        14 public class StaticPolymorphismDemo {

        15 public static void main(String args[]) {

        16 DBUtil util=new DBUtil();

        17 //調(diào)用第4行的方法

        18 System.out.println(util.getDBUrl("192.168.4.23","CXHR"));

        19 //調(diào)用第7行的方法

        20 System.out.println(util.getDBUrl("192.168.4.23"));

        21 //調(diào)用第10行的方法

        22 System.out.println(util.getDBUrl());

        23 }

        24 }

        方法重載的主要特點有以下幾點:第一個特點是方法名是相同的;第二個特點是方法的個數(shù)、順序、參數(shù)類型至少有一項是不相同的;第三個特點是方法的返回類型不一定要是相同的;第四個特點是方法的修飾符也可以是不相同的。

        1.2 方法覆蓋的特點

        Java語言中的方法覆蓋是指父類中有的方法,在子類中被重新定義,方法簽名一樣(方法名,參數(shù)個數(shù)和參數(shù)類型都一樣)的情況,也叫動態(tài)多態(tài)。

        如下面的例子:

        public class Base {

        public void method() {}

        }

        public class Sub extends Base{

        public void method() {}

        }

        方法覆蓋的特點主要有以下幾點:第一個特點是方法覆蓋只存在于子類和父類之間,在同一個類中的方法不能被覆蓋;第二個特點是父類方法拋出的異常可以比子類方法更多; 第三個特點是父類方法的名稱、參數(shù)簽名和返回類型與子類方法的是一致的; 第四個特點是子類是不允許將父類的靜態(tài)方法覆蓋為非靜態(tài)方法,父類的非靜態(tài)方法也不能被子類覆蓋為靜態(tài)方法;第五個特點是子類方法不能縮小父類方法的訪問權(quán)限;第六個特點是子類不能覆蓋父類的私有方法;第七個特點是子類可以通過兩種途徑覆蓋父類的抽象方法:一種是子類實現(xiàn)父類的抽象方法,另一種是子類重新聲明父類的抽象方法;第八個特點是父類的非抽象方法可以被覆蓋為抽象方法。

        2 方法重載與方法覆蓋的異同

        2.1 方法重載與方法覆蓋的相同點

        Java語言中,方法重載與方法覆蓋的主要相同點有兩個:第一個相同點是法重載與方法覆蓋都要求方法同名;第二個相同點是方法重載與方法覆蓋在抽象方法和非抽象方法之間都可以使用。

        2.2 方法重載與方法覆蓋的不同點

        Java語言中,方法重載與方法覆蓋的主要不同點有以下5個:第一個不同點是方法重載不允許參數(shù)簽名一致,相反,方法覆蓋則要求參數(shù)簽名必須一致;第二個不同點是方法重載對返回類型是否一致不做限制,而方法覆蓋則要求返回類型必須一致;第三個不同點是方法重載可以用于同一個類的所有方法,而方法覆蓋則僅限于用于子類覆蓋父類的方法;第四個不同點是方法重載對方法的訪問權(quán)限和拋出的異常方法不做限制性要求,而方法覆蓋對此則有特殊的要求;第五個不同點是一個方法在所在的類中可以多次重載,而父類的一個方法則只能被子類覆蓋一次。

        總之,方法的重載(Overload)和覆蓋(Overrid)是Java多態(tài)性的不同表現(xiàn)。重載(Overload)是一個類中多態(tài)性的一種表現(xiàn),而覆蓋(Overrid)是父類與子類之間多態(tài)性的一種表現(xiàn)。靈活地運用方法重載與方法覆蓋,不僅能減少編碼的工作量,也能大大提高程序的可維護性及可擴展性。

        參考文獻

        [1]姜靜思.Java中類的多態(tài)性分析[J].科技展望,2015(01).

        [2]陽小蘭,錢程.JAVA語言中構(gòu)造方法的繼承與重載探討[J].電腦知識與技術(shù),2010(21).

        [3]李寧.Java中的方法重寫與方法重載[J].科技信息,2009(03).

        猜你喜歡
        多態(tài)
        分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計優(yōu)化
        參差多態(tài)而功不唐捐
        面向?qū)ο蟪绦蛟O(shè)計中多態(tài)性探討
        人多巴胺D2基因啟動子區(qū)—350A/G多態(tài)位點熒光素酶表達載體的構(gòu)建與鑒定及活性檢測
        多態(tài)及其在數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用
        煙堿型乙酰膽堿受體基因多態(tài)與早發(fā)性精神分裂癥的關(guān)聯(lián)研究
        女同另类激情在线三区| 四虎影视免费观看高清视频| 亚洲va欧美va日韩va成人网 | 男女在线免费视频网站| 精品私密av一区二区三区| 三个男吃我奶头一边一个视频| 成人国产精品一区二区网站公司| 艳妇臀荡乳欲伦交换在线播放| 日韩一线无码av毛片免费| 亚洲爆乳大丰满无码专区| 精品国产你懂的在线观看| 日本人妻三级在线观看| 97成人精品国语自产拍| 欧美人与禽z0zo牲伦交| 高清偷自拍第1页| 免费啪啪视频一区| 一区二区丝袜美腿视频| av在线播放免费网站| 欧美人与善在线com| 水蜜桃亚洲一二三四在线| 999久久66久6只有精品| 激情视频在线观看免费播放| 亚洲av第一区国产精品| 色与欲影视天天看综合网| 国产好大好硬好爽免费不卡| 国产又黄又猛又粗又爽的a片动漫| 欧洲国产精品无码专区影院| 精品女厕偷拍视频一区二区区| 奇米影视7777久久精品| 女人被做到高潮免费视频| 国产精品一区二区三密桃| 国产精品国产三级国产专播下| 国产真实乱对白精彩久久老熟妇女| 欧美老妇与禽交| 亚欧免费视频一区二区三区| av免费在线观看网站大全| 亚洲另类丰满熟妇乱xxxx| 成人免费777777被爆出| 中文字幕精品亚洲人成| 最新国产主播一区二区| 亚洲精品久久国产精品|