<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 人人妻人人做人人爽精品| 99在线精品免费视频九九视| 最新69国产成人精品免费视频动漫| 日韩A∨精品日韩在线观看| 国语精品91自产拍在线观看二区| 99精品在线观看视频| 成人国内精品久久久久一区| 国产精品99久久99久久久动漫| 久久精品国产亚洲av成人| 合区精品久久久中文字幕一区| 国内精品一区二区三区东京 | 色妞www精品一级视频| 精品国产v无码大片在线观看| 亚洲精品无码永久在线观看你懂的| 精品香蕉伊思人在线观看| 亚洲精品永久在线观看| 久久国产精品无码一区二区三区 | 久久精品国产99久久| 精品第一国产综合精品蜜芽 | 91麻豆精品福利在线观看| 久久国产精品久久| 国产精品国色综合久久| 亚洲国产高清精品线久久 | 91精品久久久久久久久久| 久久精品国产亚洲麻豆| 中文国产成人精品久久久| 精品一区二区高清在线观看| 好吊操这里只有精品| 国产亚洲精品bv在线观看| 亚洲国产综合第一精品小说| 骚片AV蜜桃精品一区| 久久精品韩国三级| 国产亚洲福利精品一区| 中文国产成人精品久久96| 国产成人精品高清不卡在线| 国内精品久久久久影视| 狠狠精品干练久久久无码中文字幕| 午夜精品久久久久| 国产精品久久久久久影院| 久视频精品免费观看99| 久久精品蜜芽亚洲国产AV|