久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


Java中的類和對象

分(fen)享到:
           

    在java語言里,對(dui)象(xiang)(xiang)(xiang)(xiang)是(shi)一(yi)組描述對(dui)象(xiang)(xiang)(xiang)(xiang)的(de)屬(shu)性(xing)和(he)操作方(fang)(fang)法(fa)(fa)的(de)集合,其中屬(shu)性(xing)表(biao)明對(dui)象(xiang)(xiang)(xiang)(xiang)的(de)狀態,方(fang)(fang)法(fa)(fa)表(biao)明對(dui)象(xiang)(xiang)(xiang)(xiang)的(de)行為。類(lei)是(shi)對(dui)象(xiang)(xiang)(xiang)(xiang)的(de)定義(yi)。一(yi)個(ge)對(dui)象(xiang)(xiang)(xiang)(xiang)具有哪(na)些屬(shu)性(xing)和(he)方(fang)(fang)法(fa)(fa),由類(lei)來決定。從編程角度看(kan),類(lei)是(shi)一(yi)種復合數(shu)據類(lei)型,它(ta)封裝(zhuang)了一(yi)組變(bian)量和(he)方(fang)(fang)法(fa)(fa)(函(han)數(shu))。

    人們通過觀察(cha)對象(xiang)(xiang)的(de)屬性和行為來了(le)解對象(xiang)(xiang),對象(xiang)(xiang)的(de)屬性描述了(le)對象(xiang)(xiang)的(de)狀態,對象(xiang)(xiang)的(de)行為描述了(le)對象(xiang)(xiang)的(de)功能(neng)。對象(xiang)(xiang)一般有如下特性:

    (1)有一(yi)個名字(zi)以區別于(yu)其他對(dui)象。

    (2)有一些(xie)狀態用來描述它的(de)某些(xie)特征。

    (3)有一組(zu)操作(zuo),每個操作(zuo)決(jue)定了對象的(de)一種功能或行為。

    這樣,可以讓程序員乃至非專業人(ren)員更(geng)好地理(li)解(jie)程序。它涉及一個從(cong)“具(ju)體(ti)(ti)(ti)(ti)”到“抽象(xiang)”,再從(cong)“抽象(xiang)”到“具(ju)體(ti)(ti)(ti)(ti)”的(de)(de)過程。所謂“從(cong)‘具(ju)體(ti)(ti)(ti)(ti)’到‘抽象(xiang)’”,也(ye)就(jiu)是將(jiang)現實(shi)世界中的(de)(de)一個個具(ju)體(ti)(ti)(ti)(ti)的(de)(de)“物體(ti)(ti)(ti)(ti)”(或稱為(wei)“實(shi)體(ti)(ti)(ti)(ti)(Entity)”)相(xiang)應(ying)的(de)(de)特(te)征和行為(wei)抽象(xiang)出來,并且(qie)將(jiang)各(ge)種具(ju)有相(xiang)同特(te)征的(de)(de)“物體(ti)(ti)(ti)(ti)”分(fen)為(wei)一個個的(de)(de)“類(lei)”,如“汽(qi)車(che)(che)”類(lei)、“人(ren)”類(lei)、“房(fang)子(zi)”類(lei)等;而所謂“從(cong)‘抽象(xiang)’到‘具(ju)體(ti)(ti)(ti)(ti)’”,就(jiu)是將(jiang)上面(mian)抽象(xiang)出來的(de)(de)對應(ying)物體(ti)(ti)(ti)(ti)的(de)(de)“類(lei)”,使(shi)用(yong)具(ju)體(ti)(ti)(ti)(ti)的(de)(de)計算(suan)機語言來描(miao)述(shu)(shu),比如,使(shi)用(yong)Java語言來描(miao)述(shu)(shu)“汽(qi)車(che)(che)”類(lei)、“人(ren)”類(lei)、“房(fang)子(zi)”類(lei)等,和使(shi)用(yong)C++語言來描(miao)述(shu)(shu)這些類(lei)是有區別的(de)(de)。

    正如前(qian)面所述,“類(lei)(lei)”相對(dui)于現(xian)實(shi)(shi)(shi)世界中的(de)(de)(de)(de)“實(shi)(shi)(shi)體種類(lei)(lei)”(Entity Category),如汽車、人類(lei)(lei)、房子等,它是現(xian)實(shi)(shi)(shi)生(sheng)活(huo)中某(mou)類(lei)(lei)實(shi)(shi)(shi)體的(de)(de)(de)(de)抽象(xiang)。而(er)對(dui)象(xiang),或者(zhe)實(shi)(shi)(shi)體(Instance),指的(de)(de)(de)(de)是這(zhe)些種類(lei)(lei)中的(de)(de)(de)(de)一個個具(ju)體存在(zai)(zai),如Benz-600、Santana-2000等具(ju)體的(de)(de)(de)(de)汽車,或者(zhe)張三、李四等具(ju)體的(de)(de)(de)(de)個人。類(lei)(lei)和對(dui)象(xiang)是面向對(dui)象(xiang)編程思想中的(de)(de)(de)(de)核心和基礎。類(lei)(lei)是作為對(dui)象(xiang)的(de)(de)(de)(de)藍圖而(er)存在(zai)(zai)的(de)(de)(de)(de),所有的(de)(de)(de)(de)對(dui)象(xiang)都(dou)依據相應(ying)的(de)(de)(de)(de)類(lei)(lei)來產(chan)生(sheng),在(zai)(zai)面向對(dui)象(xiang)的(de)(de)(de)(de)術語中,這(zhe)個產(chan)生(sheng)對(dui)象(xiang)的(de)(de)(de)(de)過程稱為“實(shi)(shi)(shi)例化”。

    用(yong)一(yi)(yi)個(ge)具體(ti)的(de)例子來(lai)進一(yi)(yi)步說明“類(lei)”和(he)(he)“對象”之間(jian)的(de)聯系與區(qu)別。以(yi)(yi)汽(qi)(qi)(qi)車(che)(che)(che)為例,只要是(shi)(shi)汽(qi)(qi)(qi)車(che)(che)(che),都(dou)應該有(you)以(yi)(yi)下一(yi)(yi)些(xie)特(te)性:輪子、引擎、方向(xiang)盤(pan)、剎車(che)(che)(che)等組件,可(ke)(ke)以(yi)(yi)通過這(zhe)(zhe)些(xie)組件來(lai)操作汽(qi)(qi)(qi)車(che)(che)(che),改變汽(qi)(qi)(qi)車(che)(che)(che)的(de)狀態,如加(jia)速、轉向(xiang)、減速等,這(zhe)(zhe)些(xie)都(dou)是(shi)(shi)汽(qi)(qi)(qi)車(che)(che)(che)的(de)共性。具體(ti)到某輛(liang)汽(qi)(qi)(qi)車(che)(che)(che),它可(ke)(ke)能(neng)有(you)80cm的(de)輪子、40cm的(de)方向(xiang)盤(pan)、A6引擎,它是(shi)(shi)一(yi)(yi)個(ge)確定的(de)實例。使用(yong)“汽(qi)(qi)(qi)車(che)(che)(che)類(lei)”這(zhe)(zhe)個(ge)藍圖,就可(ke)(ke)以(yi)(yi)生(sheng)產出(chu)一(yi)(yi)輛(liang)輛(liang)的(de)汽(qi)(qi)(qi)車(che)(che)(che)“實例”。這(zhe)(zhe)和(he)(he)蓋(gai)房子一(yi)(yi)樣(yang),根據(ju)一(yi)(yi)張圖紙,可(ke)(ke)以(yi)(yi)蓋(gai)出(chu)任意數量的(de)房子,而這(zhe)(zhe)些(xie)房子都(dou)有(you)一(yi)(yi)樣(yang)的(de)特(te)征(zheng)。

    如(ru)果說(shuo)一切都可以成為(wei)對象,那(nei)么是什么決定(ding)(ding)了某一類(lei)對象的外觀和行為(wei)呢?類(lei)是對某個對象的定(ding)(ding)義,用來描述一組(zu)具有相同特(te)征對象的:

    (1)應包(bao)括的(de)數據。

    (2)行為特征。

    類(lei)(lei)(lei)包(bao)含有關對(dui)象動作方(fang)式的(de)信息,包(bao)括(kuo)它的(de)名稱(cheng)、方(fang)法、屬性(xing)和(he)事件(jian)。實際上類(lei)(lei)(lei)本身并(bing)不是對(dui)象,因(yin)為它不存(cun)在于內(nei)存(cun)中。當(dang)引(yin)用類(lei)(lei)(lei)的(de)代碼運行時,類(lei)(lei)(lei)的(de)一個(ge)新的(de)實例,即對(dui)象,就(jiu)在內(nei)存(cun)中創建了。一個(ge)類(lei)(lei)(lei)能(neng)從(cong)這個(ge)類(lei)(lei)(lei)在內(nei)存(cun)中創建多個(ge)相同類(lei)(lei)(lei)型的(de)對(dui)象。因(yin)此(ci),類(lei)(lei)(lei)應(ying)該包(bao)括(kuo)兩個(ge)方(fang)面(mian)的(de)內(nei)容。

    (1)屬性:用來描述對象(xiang)(xiang)的數據元素稱為對象(xiang)(xiang)的屬性(也稱為數據/狀態)。

    (2)方(fang)法:對(dui)(dui)(dui)對(dui)(dui)(dui)象(xiang)(xiang)的屬性進行的操(cao)作稱為對(dui)(dui)(dui)象(xiang)(xiang)的方(fang)法(也稱為行為/操(cao)作)。

   ; Java語言中類的聲明,也稱(cheng)類的定義,其語法(fa)規則(ze)如(ru)下(xia):

    [< modifiers>] class < class_name> {
    [<attribute_declarations>]
    [<constructor_declarations>]
    [<method_declarations>]
    }

    其中(zhong)各組成部分的含義如下(xia):

    <modifiers>為修(xiu)飾(shi)符,可用(yong)(yong)的(de)(de)有public、abstract和(he)final等關(guan)鍵字(關(guan)鍵字是Java語(yu)言中(zhong)賦以特(te)定含義,并用(yong)(yong)做專門用(yong)(yong)途(tu)的(de)(de)單詞,類(lei)名(ming)(ming)(ming)、方(fang)法名(ming)(ming)(ming)和(he)屬性名(ming)(ming)(ming)及(ji)(ji)變量(liang)名(ming)(ming)(ming)不(bu)能是關(guan)鍵字),用(yong)(yong)于說(shuo)明所定義的(de)(de)類(lei)有關(guan)方(fang)面的(de)(de)特(te)性。對于各種關(guan)鍵字和(he)它們的(de)(de)含義及(ji)(ji)各自(zi)的(de)(de)適用(yong)(yong)范圍,請看后(hou)續(xu)章節的(de)(de)介紹。

    類成員(yuan)有3種不同的訪問權限:

  &nbsp; (1)公有( public關(guan)鍵字修飾(shi) )類(lei)成(cheng)員可以在類(lei)外訪問。

    (2)私有( private關(guan)鍵字修(xiu)飾 )類成員只能被該類的成員函(han)數訪問。

    (3)保護( protected關鍵字修(xiu)飾 )類(lei)成(cheng)(cheng)員(yuan)(yuan)只(zhi)能被該類(lei)的(de)成(cheng)(cheng)員(yuan)(yuan)函數或派生(sheng)類(lei)的(de)成(cheng)(cheng)員(yuan)(yuan)函數訪問(wen)。

    class關鍵(jian)字表明這是一個類(lei)(lei)的(de)定義,將告(gao)訴你一個新類(lei)(lei)型的(de)對(dui)象看起(qi)來是什么樣(yang)的(de)。

    <class_name>是類的名字,類名一(yi)般(ban)使用(yong)一(yi)個用(yong)于表示這個類的名詞來表示。

    <attribute_declarations>是(shi)屬性(xing)(Attribute)聲明部分(fen)。

 &nbsp;  <constructor_declarations>是構(gou)造(zao)器(Constructor)聲明部分。

    <method_declarations>是方法(Method)聲明(ming)部(bu)分。

    可以將(jiang)上述的(de)(de)(de)“學生(sheng)”實(shi)體的(de)(de)(de)基(ji)本特(te)征當成“學生(sheng)”類的(de)(de)(de)屬(shu)性(xing)(xing),然后,再(zai)定(ding)義一些(xie)方(fang)(fang)法來對(dui)這些(xie)屬(shu)性(xing)(xing)進行(xing)操作。這里,將(jiang)這些(xie)操作屬(shu)性(xing)(xing)的(de)(de)(de)方(fang)(fang)法定(ding)義得(de)很簡單:每個屬(shu)性(xing)(xing)都有相應的(de)(de)(de)設(she)置(setter)和獲取(qu)(getter)方(fang)(fang)法,設(she)置方(fang)(fang)法將(jiang)傳入的(de)(de)(de)參(can)數賦給對(dui)象的(de)(de)(de)屬(shu)性(xing)(xing),而獲取(qu)方(fang)(fang)法取(qu)得(de)對(dui)象的(de)(de)(de)屬(shu)性(xing)(xing)。

源文件:Student.java

    public class Student {
        // 定義屬性
        String name;
        String sex;
        int grade;
        int age;

        // 定義屬性“name”的設置方法
        public void setName(String _name) {
            name = _name;
        }

        // 定義屬性“name”的獲取方法
        public String getName() {
            return name;
        }

        // 定義屬性“Sex”的設置方法
        public void setSex(String _sex) {
            sex = _sex;
        }

        // 定義屬性“Sex”的獲取方法
        public String getSex() {
            return sex;
        }

        // 定義屬性“grade”的設置方法
        public void setGrade(int _grade) {
            grade = _grade;
        }

        // 定義屬性“grade”的獲取方法
        public int getGrade() {
            return grade;
        }

        // 定義屬性“age”的設置方法
        public void setAge(int _age) {
            age = _age;
        }
        // 定義屬性“age”的獲取方法
        public int getAge() {
            return age;
        }
    }

   熱點(dian)鏈接:

   1、Java構造器的使用方法
   2、Java驅動在智能嵌入式設備上更具優勢
   3、如何學習嵌入式?

更多新聞>>