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

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

Java的pass by Value(傳值)

瀏覽:105日期: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
相關文章:
主站蜘蛛池模板: 永登县| 西青区| 中宁县| 兴文县| 哈密市| 吉木萨尔县| 厦门市| 兴隆县| 阳朔县| 铜川市| 阿城市| 洮南市| 略阳县| 兴国县| 平利县| 淳安县| 海淀区| 信阳市| 蓬安县| 新巴尔虎左旗| 宁明县| 蒲城县| 柞水县| 嘉义市| 梁山县| 扎兰屯市| 大丰市| 永仁县| 德州市| 金塔县| 磴口县| 星子县| 威信县| 徐州市| 东台市| 康定县| 莫力| 平度市| 陵川县| 余庆县| 友谊县|