ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          動機(Motivation)

          我只針對[foo被改而指向(引用)完全不同的另一個對象]這種情況來討論:
              void aMethod(Object foo) {
                 foo.modifyInSomeWay();   //that's OK
                 foo = anotherObject;   //throuble and despair will follow you
              }
          我之所以不喜歡這樣的作法,因為它降低了代碼的清晰度,而且混淆了pass by value(傳值)和pass by reference(傳址)這兩種參數傳遞方式。Java只采用pass by value傳遞方式,我們的討論也正是基于這一點。

          在pass by value情況下,對參數的任何修改,都不會調用端造成任何影響。那些用過pass by reference的人可能會在這一點上犯糊涂。
          posted on 2005-08-29 15:16 ivaneeo 閱讀(180) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 清苑县| 晴隆县| 永年县| 武安市| 临沂市| 呼伦贝尔市| 平湖市| 嘉兴市| 万盛区| 赤水市| 从化市| 福清市| 江西省| 安徽省| 高阳县| 红原县| 宣城市| 伽师县| 团风县| 南涧| 兴文县| 苏尼特右旗| 清涧县| 虎林市| 凭祥市| 平谷区| 利辛县| 博白县| 永靖县| 五台县| 乐陵市| 什邡市| 浪卡子县| 宿松县| 柘荣县| 郸城县| 当阳市| 新化县| 怀宁县| 万荣县| 山丹县|