亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java面向?qū)ο缶幊讨匾拍罾^承和多態(tài)示例解析

 更新時間:2023年05月30日 09:47:33   作者:繼承與多態(tài)  
這篇文章主要為大家介紹了java面向?qū)ο缶幊痰膬蓚€重要概念繼承和多態(tài)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

繼承

繼承和多態(tài)是面向?qū)ο缶幊痰膬蓚€重要概念,它們使得我們可以創(chuàng)建更加通用、可擴展的代碼。

繼承是一種創(chuàng)建新類的方式,新類(子類)從現(xiàn)有類(父類)繼承屬性和方法。子類可以重寫或擴展父類的功能。

要創(chuàng)建一個子類,可以使用 extends 關(guān)鍵字:

class SubClassName extends ParentClassName {
    // 子類的成員變量和方法
}

示例1:繼承

// 父類
class Animal {
    String name;
    int age;
    void sleep() {
        System.out.println(name + " is sleeping.");
    }
}
// 子類
class Dog extends Animal {
    String breed;
    void bark() {
        System.out.println(name + " is barking.");
    }
}
class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.name = "Buddy";
        myDog.age = 3;
        myDog.breed = "Golden Retriever";
        myDog.bark(); // 子類的方法
        myDog.sleep(); // 繼承自父類的方法
    }
}

方法重寫(覆蓋)

子類可以重寫父類的方法,以便在調(diào)用子類對象的該方法時使用子類的實現(xiàn)而不是父類的實現(xiàn)。重寫方法的返回類型、方法名和參數(shù)列表必須與父類相同。

class SubClassName extends ParentClassName {
    @Override // 注解,表明該方法重寫了父類的方法,非必須但建議使用
    ReturnType methodName(Parameters) {
        // 子類的實現(xiàn)
    }
}

示例2:方法重寫

// 父類
class Animal {
    String name;
    int age;
    void sleep() {
        System.out.println(name + " is sleeping.");
    }
}
// 子類
class Dog extends Animal {
    String breed;
    void bark() {
        System.out.println(name + " is barking.");
    }
    @Override
    void sleep() {
        System.out.println(name + " the " + breed + " is sleeping.");
    }
}
class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.name = "Buddy";
        myDog.age = 3;
        myDog.breed = "Golden Retriever";
        myDog.bark();
        myDog.sleep(); // 調(diào)用子類重寫的方法
    }
}

多態(tài)

多態(tài)是一個對象在不同情況下表現(xiàn)出不同的行為。多態(tài)是通過父類引用指向子類對象實現(xiàn)的。

ParentClassName objectName = new SubClassName();

示例3:多態(tài)

// 父類
class Animal {
    String name;
    int age;
    void sleep() {
        System.out.println(name + " is sleeping.");
    }
}
// 子類
class Dog extends Animal {
    String breed;
    void bark() {
        System.out.println(name + " is barking.");
    }
    @Override
    void sleep() {
        System.out.println(name + " the " + breed + " is sleeping.");
    }
}
class Main {
    public static void main(String[] args) {
        // 多態(tài)
        Animal myAnimal = new Dog();
        myAnimal.name = "Buddy";
        myAnimal.age = 3;
        myAnimal.sleep(); // 調(diào)用子類重寫的方法
        // 注意:無法訪問子類特有的方法和屬性
        // myAnimal.bark(); // 錯誤
        // myAnimal.breed = "Golden Retriever"; // 錯誤
    }
}

多態(tài)的主要優(yōu)點是代碼的可擴展性和維護性。當(dāng)你需要添加新的子類時,不需要修改使用多態(tài)的代碼。

抽象類和接口

抽象類和接口是 Java 中實現(xiàn)多態(tài)和代碼復(fù)用的兩種方式。

抽象類:包括抽象方法(沒有實現(xiàn)的方法)和具體方法。子類必須實現(xiàn)所有抽象方法。使用 abstract 關(guān)鍵字定義抽象類和抽象方法。

abstract class AbstractClassName {
    // 抽象方法
    abstract ReturnType methodName(Parameters);
    // 具體方法
    ReturnType methodName(Parameters) {
        // 方法實現(xiàn)
    }
}
```

接口:定義一組方法簽名(沒有實現(xiàn)的方法)。實現(xiàn)接口的類必須實現(xiàn)所有方法。使用 interface 關(guān)鍵字定義接口。

interface InterfaceName {
    // 方法簽名(沒有方法體)
    ReturnType methodName(Parameters);
}
```

示例4:抽象類和接口

// 抽象類
abstract class Animal {
    String name;
    int age;
    abstract void makeSound();
    void sleep() {
        System.out.println(name + " is sleeping.");
    }
}
// 接口
interface Pet {
    void play();
}
// 子類實現(xiàn)抽象類和接口
class Dog extends Animal implements Pet {
    String breed;
    @Override
    void makeSound() {
        System.out.println(name + " is barking.");
    }
    @Override
    public void play() {
        System.out.println(name + " is playing.");
    }
}
class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.name = "Buddy";
        myDog.age = 3;
        myDog.breed = "Golden Retriever";
        myDog.makeSound(); // 實現(xiàn)抽象類的抽象方法
        myDog.sleep(); // 繼承自抽象類的具體方法
        myDog.play(); // 實現(xiàn)接口的方法
    }
}

這是關(guān)于繼承和多態(tài)的基本介紹。通過這些概念,你可以創(chuàng)建更加靈活和可擴展的代碼。在實際開發(fā)中,你會遇到更多復(fù)雜和實用的用例,通過多做練習(xí)和深入學(xué)習(xí),你將更好地掌握這些知識點。

以上就是java面向?qū)ο缶幊讨匾拍罾^承和多態(tài)示例解析的詳細(xì)內(nèi)容,更多關(guān)于java 繼承多態(tài)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot配置允許跨域訪問代碼實例

    springboot配置允許跨域訪問代碼實例

    這篇文章主要介紹了springboot配置允許跨域訪問代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • java發(fā)送內(nèi)嵌圖片郵件

    java發(fā)送內(nèi)嵌圖片郵件

    這篇文章主要介紹了java發(fā)送內(nèi)嵌圖片郵件,在博客系統(tǒng)中需要郵件服務(wù)的功能,僅僅是發(fā)送文本內(nèi)容,現(xiàn)在嘗試一下發(fā)送內(nèi)嵌圖片郵件,感興趣的小伙伴們可以參考一下
    2016-01-01
  • HDFS的Java API的訪問方式實例代碼

    HDFS的Java API的訪問方式實例代碼

    這篇文章主要介紹了HDFS的Java API的訪問方式實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java 面試題和答案 - (下)

    Java 面試題和答案 - (下)

    本文主要介紹Java 面試題,這里整理了Java面試題關(guān)于JDBC,線程異常處理,Servlet,JSP的知識的整理,幫助大家理解知識點,便于面試,有興趣的小伙伴可以參考下
    2016-09-09
  • java編程題之順時針打印矩陣

    java編程題之順時針打印矩陣

    這篇文章主要為大家詳細(xì)介紹了java編程題之順時針打印矩陣,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • java使用HttpSession實現(xiàn)QQ訪問記錄

    java使用HttpSession實現(xiàn)QQ訪問記錄

    這篇文章主要介紹了java使用HttpSession實現(xiàn)QQ的訪問記錄的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 一文詳解Spring Security的基本用法

    一文詳解Spring Security的基本用法

    Spring Security是一個功能強大且高度可定制的身份驗證和訪問控制框架, 提供了完善的認(rèn)證機制和方法級的授權(quán)功能。本文將通過一個簡單的案例了解一下Spring Security的基本用法,需要的可以參考一下
    2022-05-05
  • SpringBoot整合Flink CDC實現(xiàn)實時追蹤mysql數(shù)據(jù)變動

    SpringBoot整合Flink CDC實現(xiàn)實時追蹤mysql數(shù)據(jù)變動

    我們將整合Spring Boot和Apache Flink CDC(Change Data Capture)來實現(xiàn)實時數(shù)據(jù)追蹤,下面是一個基本的實踐流程代碼,包括搭建Spring Boot項目、整合Flink CDC以及實現(xiàn)數(shù)據(jù)變動的實時追蹤,需要的朋友可以參考下
    2024-07-07
  • Java建造者設(shè)計模式詳解

    Java建造者設(shè)計模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java建造者設(shè)計模式,對建造者設(shè)計模式進行分析理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java中Socket設(shè)置連接超時的代碼分享

    Java中Socket設(shè)置連接超時的代碼分享

    在我們?nèi)粘_B接中,如果超時時長過長的話,在開發(fā)時會影響測試,下面這篇文章主要給大家分享了關(guān)于Java中Socket設(shè)置連接超時的代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06

最新評論