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

面向?qū)ο蟮牡诙€(gè)基本特征:繼承011026

這篇具有很好參考價(jià)值的文章主要介紹了面向?qū)ο蟮牡诙€(gè)基本特征:繼承011026。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.什么是繼承?

生活中:

? ? ? ? 繼承 ---> 延續(xù)

? ? ? ? ? ? ? ? ---> 擴(kuò)展

代碼中:

? ? ? ? 繼承 ---> 重復(fù)使用已有的類的代碼(復(fù)用)

? ? ? ? ? ? ? ? ---> 擴(kuò)展已有類的代碼(擴(kuò)展)

2.為什么要繼承?

① 代碼的復(fù)用和擴(kuò)展

② 滿足is - a 的關(guān)系

事物的分類來(lái)說(shuō),子類別的關(guān)系

Student is a Person.

Teacher is a Person

Car is not a Person

3.如何繼承

關(guān)鍵字:extends

語(yǔ)法格式:

【修飾符】 class? 子類名? extends? 父類名{

}

子類:SubClass,又稱為派生類

父類:SuperClass,又稱為基類,超類

子類表示的事物范圍大,還是父類表示事物的范圍大?

如:Person類(人)是父類

? ? ? ?Student類(學(xué)生)是子類

? ? ? ?子類? <? 父類

子類更具體,里面的成員描述更多

父類更抽象,籠統(tǒng)的描述信息更少

4.繼承有什么特點(diǎn)?

① 子類會(huì)繼承父類所有的實(shí)例變量和實(shí)例方法,如果理解這句話?

A:雖然子類繼承了父類的所有實(shí)例變量和實(shí)例方法。但是因?yàn)闄?quán)限修飾符的原因,某些成員在子類中不能直接使用,可以間接使用。private修飾的成員,在子類中是不能直接使用的。權(quán)限修飾符缺省的成員,在跨包的子類中是不能直接使用的。本包子類可以。

B:這里說(shuō)的繼承所有,是說(shuō),子類代表的這個(gè)事物,它具備父類中所描述的所有特征。

類的定義:一類具有相同特征的事物的抽象描述。

例如:Person類中有name,age屬性,eat()方法

這些特征無(wú)論它是否私有,對(duì)于子類Student類,它都應(yīng)該有這個(gè)特征。

C:既然是子類繼承了所有的實(shí)例變量,那么在子類對(duì)象創(chuàng)建時(shí),需要在子類對(duì)象的堆空間中開辟對(duì)應(yīng)的內(nèi)存來(lái)存它的值。

D:所謂的繼承,不是說(shuō),父類的代碼在子類中完全重復(fù)一遍,而是在使用子類時(shí),除了可以用自己本類聲明的成員,還可以去父類中尋找可以(看權(quán)限修飾符)用的成員。

② java中只支持單繼承,即一個(gè)子類只能有一個(gè)“直接”父類

比喻:一個(gè)人只有一個(gè)親生父親

③ java支持多層繼承

比喻:祖宗很多代,代代相傳

④ 一個(gè)java父類,可以同時(shí)有多個(gè)子類

Idea中,選中某個(gè)類,Ctrl + H,查看繼承關(guān)系

選中某個(gè)類,Ctrl + Alt +? U,以繼承樹的方式查看繼承關(guān)系

5.繼承后調(diào)用父類聲明的屬性和方法

在繼承的時(shí)候,子類會(huì)繼承父類所有的成員變量(實(shí)例變量)和成員方法(實(shí)例方法)

既然可以繼承,

① 在子類外面,子類的對(duì)象是否可以使用父類中聲明的成員變量和成員方法,只要權(quán)限修飾符允許,通過(guò)子類對(duì)象可以直接使用父類中聲明的成員變量和成員方法

② 在子類中,如果要用到父類聲明成員變量和成員方法,只要權(quán)限修飾符允許,可以直接使用,不需要通過(guò)“對(duì)象 . ” 的方式來(lái)引用父類中聲明的成員變量和成員方法。

練習(xí)代碼:

Person類:

① 聲明父類:Person類

- 包含屬性:姓名,年齡,性別,屬性私有化,

- 包含get/set方法

- 包含getInfo()方法:例如:姓名:張三,年齡:23,性別:男

public class Person {
    private String name;
    private int age;
    private char gender;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public char getGender() {
        return gender;
    }
 
    public void setGender(char gender) {
        this.gender = gender;
    }
 
    public String getInfo(){
        return "姓名:" + name +",年齡:" + age + ",性別:" + gender;
    }
}

Student類代碼:

② 聲明子類:Student類,繼承Person類

- 新增屬性:score成績(jī),屬性私有化,

- 包含get/set方法

- 重寫getInfo()方法:例如:姓名:張三,年齡:23,性別:男,成績(jī):89

public class Student extends Person{
    private int score;
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
 
    @Override
    public String getInfo() {
        return super.getInfo() + ",成績(jī):" + score;
    }
 
}

Teacher類代碼:

③ 聲明子類:Teacher類,繼承Person類

- 新增屬性:salary薪資,屬性私有化,

- 包含get/set方法

- 重寫getInfo()方法:例如:姓名:張三,年齡:23,性別:男,薪資:10000

public class Teacher extends Person {
    private double salary;
 
    public double getSalary() {
        return salary;
    }
 
    public void setSalary(double salary) {
        this.salary = salary;
    }
 
    @Override
    public String getInfo() {
        return super.getInfo() + ",薪資:" + salary;
    }
}

TestPerson類代碼:

④ 在測(cè)試類的main方法中創(chuàng)建三個(gè)類的對(duì)象,并調(diào)用相應(yīng)的方法測(cè)試文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-452842.html

public class TestPerson {
    public static void main(String[] args) {
        Person p = new Person();
        p.setName("張三");
        p.setGender('男');
        p.setAge(25);
        System.out.println(p.getInfo());
 
        Student s = new Student();
        s.setName("張三豐");
        s.setAge(5);
        s.setGender('男');
        s.setScore(89);
        System.out.println(s.getInfo());
 
        Teacher t = new Teacher();
        t.setName("柴林燕");
        t.setAge(18);
        t.setGender('女');
        t.setSalary(10000);
        System.out.println(t.getInfo());
    }
}

到了這里,關(guān)于面向?qū)ο蟮牡诙€(gè)基本特征:繼承011026的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Hadoop的第二個(gè)核心組件:MapReduce框架第二節(jié)

    Hadoop的第二個(gè)核心組件:MapReduce框架第二節(jié)

    1、客戶端在執(zhí)行MR程序時(shí),客戶端先根據(jù)設(shè)置的InputFormat實(shí)現(xiàn)類去對(duì)輸入的數(shù)據(jù)文件進(jìn)行切片(getSplits),如果沒有設(shè)置InputFormat實(shí)現(xiàn)類,MR程序會(huì)使用默認(rèn)的實(shí)現(xiàn)類(TextInputFormat–FileInputFormat的子類)進(jìn)行切片規(guī)劃,生成一個(gè)切片規(guī)劃文件 2、客戶端的切片規(guī)劃文件生成以后

    2024年02月09日
    瀏覽(29)
  • Python學(xué)習(xí)之路-面向?qū)ο?三個(gè)基本特征

    封裝:根據(jù)職責(zé)將屬性和方法封裝到一個(gè)抽象的類中 繼承:實(shí)現(xiàn)代碼的重用,相同的代碼不需要重復(fù)的編寫 多態(tài):不同的對(duì)象調(diào)用相同的方法,產(chǎn)生不同的執(zhí)行結(jié)果,增加代碼的靈活度 封裝是面向?qū)ο缶幊痰囊淮筇攸c(diǎn),面向?qū)ο缶幊痰牡谝徊骄褪菍傩院头椒ǚ庋b到一個(gè)抽

    2024年02月02日
    瀏覽(29)
  • Hadoop的第二個(gè)核心組件:MapReduce框架第四節(jié)

    Hadoop的第二個(gè)核心組件:MapReduce框架第四節(jié)

    MapReduce可以對(duì)海量數(shù)據(jù)進(jìn)行計(jì)算,但是有些情況下,計(jì)算的結(jié)果可能來(lái)自于多個(gè)文件,每個(gè)文件的數(shù)據(jù)格式是不一致,但是多個(gè)文件存在某種關(guān)聯(lián)關(guān)系,類似于MySQL中外鍵關(guān)系,如果想計(jì)算這樣的結(jié)果,MR程序也是支持的。這種計(jì)算我們稱之為join計(jì)算。 MR的join根據(jù)join數(shù)據(jù)的位

    2024年02月09日
    瀏覽(24)
  • Hadoop的第二個(gè)核心組件:MapReduce框架第三節(jié)

    Hadoop的第二個(gè)核心組件:MapReduce框架第三節(jié)

    InputFormat階段 :兩個(gè)作用 負(fù)責(zé)對(duì)輸入的數(shù)據(jù)進(jìn)行切片,切片的數(shù)據(jù)和Mapper階段的MapTask的數(shù)量是相對(duì)應(yīng)的。 負(fù)責(zé)MapTask讀取切片數(shù)據(jù)時(shí),如何將切片的數(shù)據(jù)轉(zhuǎn)換成為Key-value類型的數(shù)據(jù),包括key-value的數(shù)據(jù)類型的定義。 Mapper階段 作用處理每一個(gè)切片數(shù)據(jù)的計(jì)算邏輯。 map方法的執(zhí)

    2024年02月09日
    瀏覽(24)
  • Hadoop的第二個(gè)核心組件:MapReduce框架第一節(jié)

    Hadoop的第二個(gè)核心組件:MapReduce框架第一節(jié)

    Hadoop解決了大數(shù)據(jù)面臨的兩個(gè)核心問題:海量數(shù)據(jù)的存儲(chǔ)問題、海量數(shù)據(jù)的計(jì)算問題 其中MapReduce就是專門設(shè)計(jì)用來(lái)解決海量數(shù)據(jù)計(jì)算問題的,同時(shí)MapReduce和HDFS不一樣的地方在于,雖然兩者均為分布式組件,但是HDFS是一個(gè)完善的軟件,我們只需要使用即可,不需要去進(jìn)行任何

    2024年02月09日
    瀏覽(22)
  • C++ 面向?qū)ο螅?)——繼承

    C++ 面向?qū)ο螅?)——繼承

    面向?qū)ο蟪绦蛟O(shè)計(jì)中最重要的一個(gè)概念是繼承。繼承允許我們依據(jù)另一個(gè)類來(lái)定義一個(gè)類,這使得創(chuàng)建和維護(hù)一個(gè)應(yīng)用程序變得更容易。這樣做,也達(dá)到了重用代碼功能和提高執(zhí)行效率的效果。 當(dāng)創(chuàng)建一個(gè)類時(shí),您不需要重新編寫新的數(shù)據(jù)成員和成員函數(shù),只需指定新建的類

    2024年02月10日
    瀏覽(23)
  • Java面向?qū)ο罄^承

    目錄 繼承的概念 繼承的作用 繼承 extends implements super 與 this 繼承類型 類的繼承格式 繼承是面向?qū)ο缶幊讨械囊粋€(gè)概念,它允許一個(gè)類(稱為子類或派生類)繼承另一個(gè)類(稱為父類或基類)的屬性和方法。子類在繼承父類的同時(shí)也可以添加自己

    2023年04月13日
    瀏覽(20)
  • 【C++面向?qū)ο蟆?. 繼承

    【C++面向?qū)ο蟆?. 繼承

    繼承允許我們依據(jù)一個(gè)類來(lái)定義另一個(gè)類,這使得創(chuàng)建和維護(hù)一個(gè)應(yīng)用程序變得更容易。這樣做,也達(dá)到了 重用代碼功能 和 提高執(zhí)行時(shí)間 的效果。 當(dāng)創(chuàng)建一個(gè)類時(shí),我們不需要重新編寫新的數(shù)據(jù)成員和成員函數(shù),只需指定新建的類繼承了一個(gè)已有的類的成員即可。這個(gè)已

    2024年02月08日
    瀏覽(20)
  • python 面向?qū)ο笾^承

    python 面向?qū)ο笾^承

    前面我們已經(jīng)學(xué)習(xí)了 python 面向?qū)ο蟮念惡蛯?duì)象,那么今天我將為大家分享面向?qū)ο蟮娜筇匦灾唬豪^承。 繼承具有以下特性: 代碼重用:繼承允許我們創(chuàng)建一個(gè)新的類,并從一個(gè)或多個(gè)現(xiàn)有的類中繼承屬性和方法。這使得我們可以避免重復(fù)編寫相同的代碼,提高代碼的重

    2024年02月15日
    瀏覽(28)
  • 02 面向?qū)ο? 繼承,抽象類)

    強(qiáng)調(diào):一定用自己的話總結(jié),避免抄文檔,否則視為作業(yè)未完成。 this的作用 為了解決成員變量和局部變量所存在的二義性,適用于有參構(gòu)造時(shí)使用 示例 為成員變量設(shè)置值, 構(gòu)造器和setter方法的選擇,為什么? 構(gòu)造器:在知道具體的參數(shù)的時(shí)候可以使用,可以創(chuàng)建對(duì)象并做

    2024年02月06日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包