国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

服務(wù)器之家 - 編程語言 - Java教程 - Java面向?qū)ο笾鄳B(tài)

Java面向?qū)ο笾鄳B(tài)

2022-02-26 00:39執(zhí)久呀 Java教程

這篇文章主要介紹了Java面向?qū)ο笾鄳B(tài),文章以什么是多態(tài)、多態(tài)的實(shí)現(xiàn)條件、多態(tài)的訪問特點(diǎn)、多態(tài)的優(yōu)點(diǎn)和缺點(diǎn)的相關(guān)資料展開文章內(nèi)容,需要的小伙伴可以參考一下

一、前言

前面我們了解和學(xué)習(xí)了繼承的使用,現(xiàn)在我們來學(xué)習(xí)三大面向?qū)ο笾坏亩鄳B(tài)。

多態(tài)使java面向?qū)ο筘S富起來,所以學(xué)好多態(tài)十分重要。

二、什么是多態(tài)?

這個(gè)問題其實(shí)是顯然的,從字面上看,也是多種狀態(tài),其實(shí)沒錯,多態(tài)就是在

不同情況表現(xiàn)出來的不同狀況,叫多態(tài)。

 比方說我們可以說,是水果,也可以說,是 ((華強(qiáng)買)

是動物,也可以說,(有人可能會問這是什么)

這里西瓜和牛有兩種不同狀態(tài),這個(gè)就是多態(tài)。

三、多態(tài)的實(shí)現(xiàn)條件

  • ①有(繼承/實(shí)現(xiàn))關(guān)系
  • ②有方法重寫
  • ③有(父類/接口)引用指向(子類/實(shí)現(xiàn))對象

解讀

  • ①有(繼承/實(shí)現(xiàn))關(guān)系(說明這里有子類父類或者接口的實(shí)現(xiàn))
  • ② 有方法的重寫(重寫抽象方法,或者重寫父類中的方法) 
  • ③有(父類/接口)引用指向(子類/實(shí)現(xiàn))對象(說明有父類/接口 對象名= new 子類/實(shí)現(xiàn) )

四、多態(tài)的訪問特點(diǎn)

  • 成員方法:編譯看左邊,執(zhí)行看右邊
  • 成員變量:編譯看左邊,執(zhí)行看左邊

解讀:①所謂編譯看左邊,就是在語法問題上,看new的左邊(父類或者接口)

有沒有此方法或者變量, 如果有則編譯通過,反之則不通過

② 執(zhí)行就是最終結(jié)果看,比如,在方法中執(zhí)行時(shí)看右邊就是看new的右邊,

就是說 對象調(diào)用的時(shí)候,子類和父類都有此方法時(shí),以子類中的方法為結(jié)果。

接口我們這篇未涉及到,所以這次我們用繼承的方式類實(shí)現(xiàn)多態(tài)。

1.我們建一個(gè)service包放Animal類

?
1
2
3
4
5
6
7
8
9
10
11
package service;
 
public class Animal {
    public String name="動物";
    public void eat(){
        System.out.println("動物吃東西");
    }
    public void sleep(){
        System.out.println("動物要");
    }
}

2.再servic包下建一個(gè)impl包,包下放Cat類

因?yàn)槲覀円^承Animal類,而Animal在與之不再 同一個(gè)包所以需要導(dǎo)包(導(dǎo)包就是

告訴程序我要用的這個(gè)在哪里)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package service.impl;
 
import service.Animal;//導(dǎo)包
 
public class Cat extends Animal {
    public String name="貓";
    @Override
    public void eat() {//重寫父類的方法
        System.out.println("吃");
    }
    public void play(){
        System.out.println("玩毛球");
    }
}

3.我們在建一個(gè)controller包,在里面建一個(gè)動物測試類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import service.Animal;//導(dǎo)包
import service.impl.Cat;
 
public class AnimalController {
    public static void main(String[] args) {
           //多態(tài)創(chuàng)建對象
        Animal a=new Cat();//父類引用指子類對象
        a.eat();
        a.sleep();
        System.out.println("名字:"+a.name);
    }
}

4.弄完之后我們程序一運(yùn)行

如圖:

Java面向?qū)ο笾鄳B(tài)

 看結(jié)果,可以知道,方法的編譯看做左邊,執(zhí)行看右邊,成員的編譯看做左邊,

執(zhí)行看左邊也就是,在方法中,以子類方法為主,在變量上,以父類的變量為主。

當(dāng)父類有該方法,而子類沒有該方法時(shí),此時(shí),結(jié)果時(shí)父類的方法。

 4.1為什么兩個(gè)有區(qū)別呢?

其實(shí)主要的原因時(shí)方法有重寫,而成員變量則沒重寫(變量不能重寫)

五、多態(tài)的優(yōu)點(diǎn)和缺點(diǎn)?

  •  多態(tài)的優(yōu)點(diǎn):是提高了擴(kuò)展性,子類可以在父類的基礎(chǔ)上進(jìn)行擴(kuò)展。
  •   多態(tài)的缺點(diǎn):就是不能訪問子類的中的成員變量和成員方法。

解決方法:后期涉及

其實(shí)只要通過繼承,實(shí)現(xiàn)時(shí),子類所含有的方法是最多的,此時(shí)我們通過子類

創(chuàng)建對象,就可以訪問所有成員(非子類的私有成員除外)

如圖:

Java面向?qū)ο笾鄳B(tài)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import service.Animal;
import service.impl.Cat;
 
public class AnimalController {
    public static void main(String[] args) {
 
        Cat c=new Cat();//通過子類創(chuàng)建對象
        c.eat();
        c.sleep();
        c.play();
        System.out.println("名字:"+c.name);
    }
}

六、為什么要分開建包

有人不解,在同一個(gè)包下建就不用導(dǎo)包了,就沒那么麻煩了,確實(shí)這話一點(diǎn)問題

都沒有,但是我們要養(yǎng)成這種開建包的好習(xí)慣,以便于在代碼很多的時(shí)候,便于

排查錯誤。因?yàn)閷懘a向來都是寫時(shí)一時(shí)爽,找bug時(shí)滿臉苦。為了防止這種情況

我們要養(yǎng)成分開建包的好習(xí)慣。

到此這篇關(guān)于Java面向?qū)ο笾鄳B(tài)的文章就介紹到這了,更多相關(guān)Java面向?qū)ο?多態(tài)內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_60719453/article/details/120904183?spm=1001.2014.3001.5501

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品国产精品 | av中文在线 | 欧美精品一区二区三区蜜桃视频 | 精品国产区 | 国产精品美女久久久网av | 杨门女将寡妇一级裸片看 | 在线中文视频 | 国产综合中文字幕 | caoporn免费 | 狠狠淫 | 999久久久国产999久久久 | 最新中文字幕在线 | 99久久久无码国产精品 | 欧美日韩美女 | 国产v日产∨综合v精品视频 | 成人羞羞网站 | 亚洲精品久久久久久久久久久 | 中文字幕高清视频 | 在线观看自拍 | 精品亚洲综合 | 久久国产精品一区二区 | 最近中文字幕免费观看 | 国产精品日韩欧美一区二区三区 | 成人免费视频网站在线看 | 麻豆国产一区二区三区 | 日本不卡免费新一二三区 | 91在线网站 | 亚洲精品成人av | 特黄视频 | 在线午夜 | 亚洲 欧美 国产 制服 动漫 | 久久久久久久久久久久免费 | 日韩综合在线 | 成人免费黄色大片 | 成人免费在线观看视频 | 风间由美av | 亚洲字幕成人中文在线观看 | 亚洲视频二区 | 久久h | 国产成人精品在线 | 性做久久久久久久久 |