<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></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 亚洲精品福利网站| 国产69精品久久久久99尤物| 久久国产乱子精品免费女| 国产麻传媒精品国产AV| 久久久久久夜精品精品免费啦| 伊人 久久 精品| 亚洲精品无码中文久久字幕| 亚洲精品二区国产综合野狼| 精品女同一区二区| 69久久夜色精品国产69| 亚洲国产精品一区二区成人片国内| 国产在线观看91精品不卡| 精品久久无码中文字幕| 国内精品手机在线观看视频| 无码国产亚洲日韩国精品视频一区二区三区 | 精品不卡一区中文字幕| 精品国产天线2019| 一本大道久久a久久精品综合| 精品国产一区二区三区2021| 国语自产精品视频在线看| 精品高潮呻吟99av无码视频| 国产成人精品2021| 国模和精品嫩模私拍视频| 国产精品久久久久影视青草| 亚洲午夜精品久久久久久app| 青青草原精品99久久精品66| 亚洲精品卡2卡3卡4卡5卡区| 国产成人精品大尺度在线观看| 国产精品美女乱子伦高| 亚洲高清国产拍精品熟女| 2019国产精品青青草原| 亚洲国产精品久久久久婷婷老年| 99精品视频在线观看re| 精品99又大又爽又硬少妇毛片| 国产精品一区二区三区久久| 精品无人乱码一区二区三区 | 久久99精品久久久久婷婷| 久久最新精品国产| 亚洲精品乱码久久久久久中文字幕 | 亚洲精品乱码久久久久久久久久久久 | 亚洲综合国产精品|