一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - JAVA教程 - 淺談Java中的重載,重寫,多態(tài),靜態(tài)綁定、動(dòng)態(tài)綁定

淺談Java中的重載,重寫,多態(tài),靜態(tài)綁定、動(dòng)態(tài)綁定

2021-03-22 14:04big_big_snail JAVA教程

這篇文章主要介紹了淺談Java中的重載,重寫,多態(tài),靜態(tài)綁定、動(dòng)態(tài)綁定,具有一定借鑒價(jià)值

本文主要研究的是關(guān)于Java重載,重寫,多態(tài),靜態(tài)綁定、動(dòng)態(tài)綁定的相關(guān)內(nèi)容,具體如下。

重載,英文名是overload,是指在一個(gè)類中定義了一個(gè)以上具有相同名稱的方法,這些方法的參數(shù)個(gè)數(shù)、參數(shù)類型和順序不能相同。返回類型可以相同,也可以不同。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class TstaticOverload {
    static int height;
    TstaticOverload() {
        System.out.println ("Planting a seedling");
        height = 0;
    }
    TstaticOverload(int initialHeight) {
        height = initialHeight;
        System.out.println("Creating new Tree that is "+ height + " feet tall");
    }
    static void info() {
        System.out.println("Tree is " + height + " feet tall");
    }
    static void info(String s) {
        System.out.println(s + ": Tree is " + height + " feet tall");
    }
}
?
1
2
3
4
5
6
7
8
public class testSO {
    public static void main (String [] args) {
        TstaticOverload t = new TstaticOverload(5);
        TstaticOverload.info();
        TstaticOverload.info("overloading method");
        new TstaticOverload();
    }
}
?
1
2
3
4
5
out:
Creating new Tree that is 5 feet tall
Tree is 5 feet tall
overloading method: Tree is 5 feet tall
Planting a seedling

重寫,英文名是override,是指在繼承情況下,子類中定義了與其基類中方法具有相同名稱、相同返回類型或兼容類型和相同參數(shù)的方法,就叫做子類把基類的方法重寫了。這是實(shí)現(xiàn)多態(tài)必須的步驟。

多態(tài):多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class StaticSupper {
    public static String staticGet() {
        return "Base staticGet()";
    }
    public String dynamicGet() {
        return "Base dynamicGet()";
    }
}
class StaticSub extends StaticSupper {
    public static String staticGet() {
        return "Sub staticGet()";
    }
    public String dynamicGet() {
        return "Sub dynamicGet()";
    }
}
class StaticMub extends StaticSupper {
    public static String staticGet() {
        return "Mub staticGet()";
    }
    public String dynamicGet() {
        return "Mub dynamicGet()";
    }
}
?
1
2
3
4
5
6
7
8
9
10
11
public class StaticPolymorphism {
  public static void main (String [] args) {
    StaticSupper sup1 = new StaticSub();
    System.out.println(sup1.staticGet());
    System.out.println(sup1.dynamicGet());
     
    StaticSupper sup2 = new StaticMub();
    System.out.println(sup2.staticGet());
    System.out.println(sup2.dynamicGet());
  }
}
?
1
2
3
4
5
out:
Base staticGet()
Sub dynamicGet()
Base staticGet()
Mub dynamicGet()

程序綁定的概念:

綁定指的是一個(gè)方法的調(diào)用與方法所在的類(方法主體)關(guān)聯(lián)起來。對(duì)java來說,綁定分為靜態(tài)綁定和動(dòng)態(tài)綁定;或者叫做前期綁定和后期綁定。

靜態(tài)綁定:

在程序執(zhí)行前方法已經(jīng)被綁定,此時(shí)由編譯器或其它連接程序?qū)崿F(xiàn)。例如:C。

針對(duì)Java簡(jiǎn)單的可以理解為程序編譯期的綁定;這里特別說明一點(diǎn),java當(dāng)中的方法只有final,static,private和構(gòu)造方法是前期綁定。

動(dòng)態(tài)綁定:

后期綁定:動(dòng)態(tài)綁定是指編譯器在編譯階段不知道要調(diào)用哪個(gè)方法,直到運(yùn)行時(shí)根據(jù)具體對(duì)象的類型進(jìn)行綁定。

若一種語言實(shí)現(xiàn)了后期綁定,同時(shí)必須提供一些機(jī)制,可在運(yùn)行期間判斷對(duì)象的類型,并分別調(diào)用適當(dāng)?shù)姆椒āR簿褪钦f,編譯器此時(shí)依然不知道對(duì)象的類型,但方法調(diào)用機(jī)制能自己去調(diào)查,找到正確的方法主體。不同的語言對(duì)后期綁定的實(shí)現(xiàn)方法是有所區(qū)別的。但我們至少可以這樣認(rèn)為:它們都要在對(duì)象中安插某些特殊類型的信息。

方法重載有靜態(tài)方法重載和普通方法重載。靜態(tài)方法重載是靜態(tài)綁定,方法調(diào)用是通過:類名.方法。普通方法重載是動(dòng)態(tài)綁定,方法調(diào)用是通過:實(shí)例對(duì)象引用.方法。構(gòu)造器能夠重載,但是不能夠被重寫。

靜態(tài)方法能夠被重寫,但是沒有實(shí)現(xiàn)多態(tài)效果。

總結(jié)

以上就是本文關(guān)于淺談Java中的重載,重寫,多態(tài),靜態(tài)綁定、動(dòng)態(tài)綁定的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

原文鏈接:http://blog.csdn.net/dajiadexiaocao/article/details/46896039

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女张开腿让男人桶的 视频 | 精品老司机在线视频香蕉 | 久久久无码精品亚洲欧美 | 插鸡视频在线观看 | 亚洲国产综合久久久无码色伦 | 国产精品亚洲专区一区 | 四虎影视免费观看免费观看 | 99在线精品免费视频 | 亚州在线| 草莓污污 | 青青久久精品国产 | 亚洲第五色综合网啪啪 | 日本免费v片一二三区 | 美女下面揉出水免费视频 | 亚洲 日韩 国产 制服 在线 | 肥奶丰熟肥妇 | 国产日韩综合 | 日韩欧美一区黑人vs日本人 | 草久久网| 9总探花新品牛仔背带裤 | 香蕉国产人午夜视频在线 | 成人免费观看www视频 | 国产欧美日韩一区二区三区在线 | 三叶草私人研究所 | 三级黄色图片 | 色哟哟哟在线精品观看视频 | 爱豆传媒最新视频国产 | 男人狂擦女人的下面视频 | 久久成人精品免费播放 | 美女福利网站 | www.精品在线| 国内精品视频一区二区三区八戒 | xvideo日本| 扒开斗罗美女了的胸罩和内裤漫画 | 四虎新网站 | 国产精品视频一区二区三区不卡 | 桥本有菜作品在线 | 日韩成人在线视频 | 任我淫 | 精品久久久久亚洲 | 青青草国产精品久久碰 |