BlogJava 聯系 聚合 管理  

          Blog Stats

          隨筆檔案

          exams


          java世界

          世界Java

          1、對于原始數據類型,也就是int、 long、char之類的類型,是傳值的,如果你在方法中修改了值,方法調用結束后,那個變量的值沒用改變。
          2、對于對象類型,也就是Object的子類,如果你在方法中修改了它的成員的值,那個修改是生效的,方法調用結束后,它的成員是新的值,但是如果你把它指向一個其它的對象( 70-305  ),方法調用結束后,原來對它的引用并沒用指向新的對象。
          代碼如下:
          public class Tester {
              public static void main(String[] args) {
                  int primitive = 2;
                  changePrimitive(primitive);
                  //primitive的值依然是2
                  MyClass myClass = new MyClass();
                  changeObject(myClass);
                  //myClass仍然指向的是執行changeObject之前的那個對象
                  //但是myClass.i等于3了
              }

              public static void changePrimitive(int primitive) {
                  primitive = 3;
              }

              public static void changeObject(MyClass myClass) {
                  myClass.i = 3;
                  myClass = new MyClass();
              }
          }

          class MyClass {
              int i;
          }

          對于遠程調用,350-018  無論是什么類型,調用結束后,傳入的參數和以前沒用任何變化(當然前途是直接調用遠程方法,如果中間經過其它的Proxy類或者Facade類,不能保證那些類對對象沒用修改)。至于是通過Local接口進行調用的,也應該屬于本地調用,和上面說的情況應該是一致的。

          posted on 2007-08-27 11:06 java2java 閱讀(1039) 評論(2)  編輯  收藏

          評論

          # re: Java參數傳遞方式 2007-08-27 16:33 ehe
          good...  回復  更多評論
            

          # re: Java參數傳遞方式 2007-08-28 17:19 楊愛友
          不錯,是這么回事,JAVA中永遠都是值傳遞  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 建阳市| 平山县| 恭城| 万宁市| 新田县| 德兴市| 宁化县| 清涧县| 济源市| 铜山县| 揭西县| 兴和县| 洪湖市| 玉溪市| 新晃| 大埔区| 榆社县| 明光市| 漳平市| 青田县| 乐清市| 凤台县| 乡宁县| 千阳县| 攀枝花市| 宁南县| 云安县| 新昌县| 中宁县| 新津县| 松阳县| 渭源县| 海阳市| 马公市| 池州市| 永和县| 抚州市| 阆中市| 西青区| 桑植县| 秀山|