久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Java的pass by Value(傳值)

瀏覽:128日期:2024-06-13 17:43:27
內容: Java中使用“pass by value'函數調用 方式,這常常造成許多人迷惑。在所有地點,Java都使用嚴格采用pass by value,所以下列程序: class Param { public static void main (String [] args){ int x = 3; triple(x); System.out.println('x after triple : '+ x); } private static void triple (int arg) { arg = arg * 3; System.out.println('arg in triple :'+ arg); }}會產生這樣的輸出:arg in triple : 15x after triple : 5這段代碼不致于讓人糊涂。但如果參數中傳遞的是對象,可能把人弄迷糊了。如果在程序中以Date對象表示日期,那么下列程序:class Param { public static void main (String [] args){ Date d1 = new Date('1 Apr 98'); nextDateUpdate(d1); System.out.println('d1 after nextDay: ' + d1);Date d2 = new Date('1 Apr 98'); nextDateReplace(d2); System.out.println('d2 after nextDay: ' + d2); } private static void nextDateUpdate (Date arg) { arg.setDate( arg.getDate() + 1); System.out.println('arg in nextDay : ' + arg); } private static void nextDateReplace (Date arg) { arg = new Date(arg.getYear(),arg.getMonth(),arg.getDate()+1); System.out.println('arg in nextDay : ' + arg); }}產生的輸出:arg in nextDay : Thu Apr 02 00:00:00 CST 1998d1 after nextDay: Thu Apr 02 00:00:00 CST 1998arg in nextDay : Thu Apr 02 00:00:00 CST 1998d2 after nextDay: Wed Apr 01 00:00:00 CST 1998從本質上說,object reference 是按值傳遞的(pass by value)。因此可以修改參數對象的內部狀態,但參數對象重新賦值,沒有意義。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd Java中使用“pass by value'函數調用 方式,這常常造成許多人迷惑。在所有地點,Java都使用嚴格采用pass by value,所以下列程序: class Param {public static void main (Strin
標簽: Java
相關文章:
主站蜘蛛池模板: 绥江县| 呼伦贝尔市| 漾濞| 会东县| 巴里| 泰和县| 淮滨县| 新沂市| 汽车| 陕西省| 普格县| 金华市| 静宁县| 乡宁县| 那曲县| 堆龙德庆县| 庄浪县| 莱芜市| 塘沽区| 厦门市| 合作市| 静乐县| 邵东县| 尼勒克县| 松溪县| 重庆市| 张家川| 柳河县| 安义县| 竹山县| 内乡县| 和平县| 天水市| 博客| 瑞丽市| 东方市| 光泽县| 喀什市| 蓝山县| 阿克| 红安县|