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 閱讀(1038) 評論(2)  編輯  收藏

          評論

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

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


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


          網站導航:
           
          主站蜘蛛池模板: 天水市| 孝义市| 太原市| 丰都县| 弥渡县| 大田县| 稻城县| 乐陵市| 连城县| 桦川县| 咸丰县| 嘉峪关市| 麻城市| 甘泉县| 彝良县| 花垣县| 安化县| 鹤岗市| 游戏| 芷江| 河池市| 韶关市| 冀州市| 澄江县| 洞头县| 通化市| 大姚县| 长海县| 韩城市| 同江市| 长武县| 舒兰市| 冕宁县| 体育| 赣榆县| 泸溪县| 天全县| 榆林市| 南木林县| 定州市| 嘉兴市|