<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java aggregation

    文檔

    java aggregation

    aggregation是association里的一個特殊的分類,aggregation里的關系只能是單向的,而association單向和雙向均可。java中的aggregation就是建立了一個類,然后在其他地方引用來使用。
    推薦度:
    導讀aggregation是association里的一個特殊的分類,aggregation里的關系只能是單向的,而association單向和雙向均可。java中的aggregation就是建立了一個類,然后在其他地方引用來使用。

    java aggregation是什么,讓我們一起了解一下?

    aggregation是association里的一個特殊的分類,aggregation里的關系只能是單向的,而association單向和雙向均可。java中的aggregation就是建立了一個類,然后在其他地方引用來使用。

    舉個例子,比如有兩個類是Student和Address,在特定情境下,每一個student的對象一定包含了一個Address的對象,而每一個address可以只含有街道名稱或是門牌號,不一定是個學生的地址,所以不一定需要student的一個對象作為屬性,因此這里就是aggregation。

    實戰操作:

    package?com.ray.ch05;
    public?class?Test?{
    public?static?void?main(String[]?args)?{
    }
    }
    package?com.ray.ch05;
    public?class?Test2{
    public?static?void?main(String[]?args)?{
    new?Test();
    }
    }

    建立了Test這個類,我們可以在程序的任何地方new出來,就好像在Test2里面new一樣,這樣其實就是最簡單的聚合復用。

    但是,我們在復用的時候需要注意一點,就是對象的初始化問題。

    我們修改一下上面的代碼:

    package?com.ray.ch05;
    ?
    public?class?Test?{
    public?void?say()?{//增加了一個公共方法
    System.out.println("method?say");
    }
    ?
    public?static?void?main(String[]?args)?{
    }
    }
    package?com.ray.ch05;
    ?
    public?class?Test2?{
    private?Test?test;//引用Test
    ?
    private?void?runSay()?{
    test.say();
    }
    ?
    public?static?void?main(String[]?args)?{
    new?Test2().runSay();
    }
    }

    運行輸出:

    Exception?in?thread?"main"?java.lang.NullPointerException
    ?at?com.ray.ch05.Test2.runSay(Test2.java:7)
    ?at?com.ray.ch05.Test2.main(Test2.java:11)

    空指針錯誤,因為我們在Test2里面沒有實例化對象test,而默認的編譯器只是初始化為null,因此會有運行時錯誤。

    因此,我們必須注意對象的初始化,因為它們不像基礎類型那樣,編譯器默認賦值。這個是編譯器的優化策略。

    所以,我們Test2上面的代碼必須把Test這個類的對象實例化出來。

    package?com.ray.ch05;
    ?
    public?class?Test2?{
    private?Test?test=new?Test();
    ?
    private?void?runSay()?{
    test.say();
    }
    ?
    public?static?void?main(String[]?args)?{
    new?Test2().runSay();
    }
    }

    重新運行輸出:

    method?say

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java aggregation

    aggregation是association里的一個特殊的分類,aggregation里的關系只能是單向的,而association單向和雙向均可。java中的aggregation就是建立了一個類,然后在其他地方引用來使用。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java akka ipad2是哪年的 java algorithm iphone呼叫失敗是什么原因 java android java annotation java ant java apns 蘋果13藍牙搜索不到設備怎么辦 java append java application java apriori java archive java arcsin java arccos java arctan java args java arrays.sort java ascii java asmx java aes加密 java advice java addall java add java actuator 西北五省是哪五省 java activity java activiti 甕安縣屬于哪個市 java active 茉莉花茶是綠茶嗎 java a++和++a的區別 熊貓只有中國才有的嗎 idea新建一個java項目 java 32bit java -xms idea新建java項目 祁連山在哪個省境內 行程碼帶*號什么意思 南極洲有哪些國家
    Top 亚洲欧美日韩久久精品| 成年男女男精品免费视频网站| 夜夜精品视频一区二区| 久久97精品久久久久久久不卡| 91麻豆国产精品91久久久| 亚洲精品无码av人在线观看 | 97精品伊人久久大香线蕉app| 久久精品亚洲男人的天堂| 91麻豆国产精品91久久久| 久久99久久99精品| 亚洲AV无码成人精品区大在线| 精品香蕉在线观看免费| 国内精品在线视频| 色妞www精品一级视频| 国产成人综合一区精品| 久久精品国产99精品国产2021 | 久久精品毛片免费观看| 精品国产福利盛宴在线观看| 好叼操这里只有精品| 56prom在线精品国产| 久久精品免费一区二区三区| 国产精品久久久久久久午夜片| 亚洲精品人成网线在线播放va | 亚洲Av永久无码精品一区二区| 亚洲av成人无码久久精品| 久久精品女人天堂AV麻| 人妻无码精品久久亚瑟影视| 亚洲精品无码成人片久久不卡 | 国产亚洲精品福利在线无卡一| 四虎成人国产精品视频| 亚洲AV永久无码精品一福利| 亚洲男人的天堂久久精品| 久久96国产精品| 麻豆精品久久久一区二区| 久久久精品人妻无码专区不卡 | WWW国产亚洲精品久久麻豆| 国产三级精品三级在专区中文| 久久亚洲精品国产精品| 亚洲国产精品SSS在线观看AV | 国产精品久久久久乳精品爆| 亚洲国产精品免费在线观看|