国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了Java面向?qū)ο蠖鄳B(tài)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

多態(tài)概述

Java 多態(tài)包括以下三種方式

方法重寫(Override)

向上轉(zhuǎn)型(Upcasting)

實現(xiàn)多態(tài)


多態(tài)概述

Java 多態(tài)是指同一種類型的對象,在不同的情況下有著不同的狀態(tài)和行為。它是基于繼承、重寫和向上轉(zhuǎn)型等特性實現(xiàn)的,多態(tài)是面向?qū)ο缶幊痰娜筇卣髦?,其他兩個分別是封裝和繼承。

Java 多態(tài)包括以下三種方式

方法重寫(Override)

子類可以對從父類繼承的方法進(jìn)行重寫,以便根據(jù)子類的需要來覆蓋掉父類中的方法實現(xiàn)。這樣在調(diào)用時,可以根據(jù)對象的不同來執(zhí)行對應(yīng)的方法。

例如:文章來源地址http://www.zghlxwxcb.cn/news/detail-411970.html

class Animal {
? ? public void move() {
? ? ? ? System.out.println("動物移動");
? ? }
}

class Cat extends Animal {
? ? @Override
? ? public void move() {
? ? ? ? System.out.println("貓在走路");
? ? }
}

public class Test {
? ? public static void main(String[] args) {
? ? ? ? Animal animal = new Animal();
? ? ? ? Animal cat = new Cat();
? ? ? ? animal.move();
? ? ? ? cat.move();
? ? }
}

向上轉(zhuǎn)型(Upcasting)

將子類對象轉(zhuǎn)換成父類引用,這樣就可以使用父類中定義的方法和屬性,但不能訪問子類獨有的方法和屬性。這種特征使得可以將子類對象作為父類的參數(shù)進(jìn)行傳遞,提高代碼的靈活性。

例如:

class Animal {
    public void move() {
        System.out.println("動物移動");
    }
}

class Cat extends Animal {
    @Override
    public void move() {
        System.out.println("貓在走路");
    }
    public void catchMouse() {
        System.out.println("貓在抓老鼠");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal animal = new Cat();
        animal.move(); // 調(diào)用子類中的方法
        //animal.catchMouse(); // 編譯錯誤,不能訪問子類獨有的方法
    }
}

實現(xiàn)多態(tài)

通過父類引用指向子類對象,可以實現(xiàn)多態(tài)性,使得同一個方法調(diào)用可以在不同的對象上具有不同的行為。這種特征使得程序更加靈活,可以根據(jù)需要來確定對象的類型。

例如:

class Animal {
    public void move() {
        System.out.println("動物移動");
    }
}

class Cat extends Animal {
    @Override
    public void move() {
        System.out.println("貓在走路");
    }
}

class Dog extends Animal {
    @Override
    public void move() {
        System.out.println("狗在跑步");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal animal1 = new Cat();
        Animal animal2 = new Dog();
        animal1.move(); // 同一種方法調(diào)用不同的對象
        animal2.move(); // 同一種方法調(diào)用不同的對象
    }
}

到了這里,關(guān)于Java面向?qū)ο蠖鄳B(tài)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Java SE語法篇】8.面向?qū)ο笕筇卣鳌庋b、繼承和多態(tài)

    【Java SE語法篇】8.面向?qū)ο笕筇卣鳌庋b、繼承和多態(tài)

    ??博客主頁:愛敲代碼的小楊. ?專欄:《Java SE語法》 ??感謝大家點贊????收藏?評論???,您的三連就是我持續(xù)更新的動力?? 面向?qū)ο笕筇匦裕悍庋b、繼承和多態(tài)。 在面向?qū)ο蟪淌皆O(shè)計方法中,封裝(英語:Encapsulation)是指一種將抽象性函式接口的實現(xiàn)細(xì)節(jié)部

    2024年02月01日
    瀏覽(36)
  • 【Java面向?qū)ο蟆慷鄳B(tài)的詳細(xì)介紹,簡單易懂,看這一篇就夠了

    A: 方法或?qū)ο缶哂卸喾N形態(tài),是面向?qū)ο蟮牡谌筇卣?,多態(tài)是建立在封裝和繼承的基礎(chǔ)之上的。簡單來說,多態(tài)是具有表現(xiàn)多種形態(tài)的能力的特征。 消除類型之間的耦合關(guān)系 可替代性 可擴(kuò)充性 接口性 靈活性 簡化性 重載式多態(tài)在編譯時已經(jīng)確定好了。方法名相同而參數(shù)

    2024年01月20日
    瀏覽(43)
  • Java面向?qū)ο蟆鄳B(tài)、Object類、instanceof關(guān)鍵字以及final關(guān)鍵字

    Java面向?qū)ο蟆鄳B(tài)、Object類、instanceof關(guān)鍵字以及final關(guān)鍵字

    總之,多態(tài)是面向?qū)ο缶幊讨幸粋€非常重要的概念,通過它可以實現(xiàn)統(tǒng)一的接口來操作不同的對象,提高代碼的可讀性和可維護(hù)性。在實際編程中,多態(tài)性的使用可以使代碼更加靈活和擴(kuò)展性更強(qiáng)。方法重寫是實現(xiàn)多態(tài)的基礎(chǔ)。 重寫如下所示 關(guān)于hashCode方法的重寫: 重寫t

    2024年02月12日
    瀏覽(114)
  • c、c++、java、python、js對比【面向?qū)ο?、過程;解釋、編譯語言;封裝、繼承、多態(tài)】

    c、c++、java、python、js對比【面向?qū)ο蟆⑦^程;解釋、編譯語言;封裝、繼承、多態(tài)】

    目錄 內(nèi)存管理、適用 區(qū)別 C 手動內(nèi)存管理:C語言沒有內(nèi)置的安全檢查機(jī)制,容易出現(xiàn)內(nèi)存泄漏、緩沖區(qū)溢出等安全問題。 適用于系統(tǒng)級編程 C++ 手動內(nèi)存管理:C++需要程序員手動管理內(nèi)存,包括分配和釋放內(nèi)存,這可能導(dǎo)致內(nèi)存泄漏和指針錯誤。 適用于游戲引擎和系統(tǒng)級編

    2024年02月08日
    瀏覽(51)
  • 【Java基礎(chǔ)教程】(十四)面向?qū)ο笃?· 第八講:多態(tài)性詳解——向上及向下轉(zhuǎn)型、關(guān)鍵字 final與 instanceof的作用~

    【Java基礎(chǔ)教程】(十四)面向?qū)ο笃?· 第八講:多態(tài)性詳解——向上及向下轉(zhuǎn)型、關(guān)鍵字 final與 instanceof的作用~

    掌握final 的主要作用及使用; 掌握對象多態(tài)性的概念以及對象轉(zhuǎn)型的操作; 掌握instanceof 的主要作用及使用; 在Java 中 final稱為終結(jié)器,在Java 里面可以使用 final定義類、方法和屬性,用于表示不可變性 。 final 類:當(dāng)一個類被聲明為 final 時,意味著該類不能被

    2024年02月16日
    瀏覽(114)
  • 面向?qū)ο笤斀猓嫦驅(qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài)

    面向?qū)ο笤斀?,面向?qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài)

    一、面向?qū)ο笈c面向過程 面向?qū)ο缶幊?(Object-Oriented Programming,簡稱OOP)和 面向過程編程 (Procedural Programming,簡稱PP)是兩種不同的 編程范式 。 面向?qū)ο缶幊虖?qiáng)調(diào)把問題分解成對象,通過封裝、繼承和多態(tài)等機(jī)制,來處理對象之間的關(guān)系 。每個對象都可以獨立地處理自

    2024年02月21日
    瀏覽(23)
  • java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式

    java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式

    過了入門階段,開始學(xué)習(xí)進(jìn)階語法了。每天進(jìn)步一點點,打好基礎(chǔ),daydayup! 什么是面向?qū)ο缶幊蹋╫op),可以看這篇 java的面向?qū)ο缶幊蹋╫op)概述及案例? static的意思為靜態(tài),用于修飾成員變量及成員方法。 成員變量根據(jù)有無static可以分為兩種 ——類變量及實例變量 1,類

    2024年01月19日
    瀏覽(25)
  • 面向?qū)ο蟆鄳B(tài)、抽象類、接口

    面向?qū)ο蟆鄳B(tài)、抽象類、接口

    學(xué)習(xí)資料來自:黑馬程序員,內(nèi)容僅為學(xué)習(xí)記錄,侵刪 多態(tài) 多態(tài):事務(wù)存在的多種形態(tài) 多態(tài)的前提:1、有繼承關(guān)系;2、重寫父類方法;3、父類引用指向子類對象 面向?qū)ο?面向?qū)ο蠖鄳B(tài)中成員訪問特點 1.成員方法(動態(tài)綁定):編譯看左邊(父類),運行看右邊(子類)

    2024年02月08日
    瀏覽(28)
  • 面向?qū)ο蟮亩鄳B(tài)

    面向?qū)ο蟮亩鄳B(tài)

    7. 面向?qū)ο筇卣魅憾鄳B(tài)性 概念: 多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(OOP)的一個重要特征,指同一個實體同時具有多種形式, 女朋友養(yǎng)寵物 王者榮耀英雄 7.1 多態(tài)的形式和體現(xiàn) 7.1.1 對象的多態(tài)性 多態(tài)性,是面向?qū)ο笾凶钪匾母拍睿?在 Java 中如何體現(xiàn)的:對象的多態(tài)性:父類的

    2024年02月08日
    瀏覽(37)
  • 【C++】面向?qū)ο笾鄳B(tài)

    【C++】面向?qū)ο笾鄳B(tài)

    文章內(nèi)的所有調(diào)試都是在vs2022下進(jìn)行的, 部分小細(xì)節(jié)可能因編譯器不同存在差異。 概念引入 對于一個火車票售票系統(tǒng), 可能會有多重角色, 比如普通成人類、學(xué)生類、軍人類、兒童類等等… 這些類可能都是從某個基類派生出來的, 而且每個類都有一個基本需求,就是買票

    2024年02月01日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包