欢迎来到天天文库
浏览记录
ID:46612925
大小:74.00 KB
页数:7页
时间:2019-11-26
《JAVA語言中的參數傳遞探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JAVA語言中的參數傳遞探究摘要:在程序設計中,C語言或者C++語言的一些參數傳值或者地址都十分明確,但是在JAVA中還存在著一些爭論,甚至有所謂的結論認為:在JAVA裡參數傳遞是按值傳遞。這種觀點顯然會誤導別人。本文就通過實現分析,闡述JAVA語言中的參數傳遞關鍵詞:JAVA;參數傳遞一、按值傳遞所謂的按值傳遞是指在調用方法時,是根據值的拷貝進行參數傳遞,其最顯著的特點也是其所傳遞的參數是值的拷貝,傳遞後即互不相幹,可以通過以下示例說明:publicclassTempTest{privatevoidtestl(in
2、ta){a=5;System,out.printin("test1方法中的a二二二“+a);}publicstaticvoidmain(String[]args){TempTestt二newTempTes(t);inta=3;t.testl(a);//在進行傳遞後,testl方法中所改變的變量值不會對此處的System,out.printin("main方法中的a==="+a);}}運行結果是:test1方法中的a===5main方法中的a===3二、按引用傳遞所謂的按引用傳遞是指方法調用的過程中,按照引用實現參數的
3、傳遞,其所傳遞的參數內容是引用地址,即變量對的內存空間地址。按引用傳遞也著顯著的特點,它所傳遞的內容是值的引用,無論傳遞前還是傳遞後均指向同個內存空間。可以通過以下示例加以說明:第1行publicclassTempTest{第2行privatevoidtestl(Aa){第3行a.agc=20;第4行System,out.printin("testl方法中的age=.age);第5行}第6行publicstaticvoidmain(String[]args){第7行TempTestt=ncwTcmpTcs(t);第8
4、行Aa二newA();第9行a.agc=10;第10行t.testl(a);第11行System,out.printin("main方法中的age=“+a.age);第12行}第13行}第14行classA{第15行publicintage=0;第16行}運行結果如下:testl方法中的age二20main方法中的age=20內存分配示意要準確理解按引用傳遞的過程,就要清楚的知道內存分配的過程,可以通過以下示例進行說明:(1):運行開始,運行第8行,創建瞭一個A的實例,內存分配示意如下:main方法中的變量a(此處是
5、一個A的實例,age=0)(2):運行第9行,是修改A實例裡面的age的值,運行後內存分配示意如下:main方法中的變量a(此時agc=10)3):運行第10行,是把main方法中的變量a所引用的內存空間地址,按引用傳遞給testl方法中的a變量。請註意:這兩個a變量是完全不同的,不要被名稱相同所蒙蔽。內存分配示意如下:main方法中的變量a.(此時age二10)按引用傳遞賦值給testl方法中的變量a,因為是按引用傳遞,即所傳遞的內容是內存空間地址,因此在傳遞結束後,內存不意就會形成一個新的形式:main方法中的變
6、量a.testl方法中的變量a(此時age=10)即兩個變量均指向同一空間(4):運行第3行,為testl方法中的變量a指向的A實例的age進行賦值,完成後形成的新的內存示意圖如下:main方法中的變量atestl方法中的變量a(此時age=20)此時A實例的age值的變化是由testl方法引起的(5):運行第4行,根據此時的內存示意圖,輸出testl方法中的age二20(6):運行第11行,根據此時的內存示意圖,輸出main方法中的age=20四、利用ASP實現JAVA在網頁中的參數傳遞通常JAVA要從其所在的超文
7、本中獲取參數,假如這些參數可預知或者不常改變,那麼隻需將對應的參數直接輸出超文本中即可。但是如果這些參數是無法預知或者經常變化的動態參數,那麼就要相應的更改超文本中的這些參數。我們可以利用ASP實現這一功能。我們可以通過以下案例加以說明:以單一的記錄值為參數向JAVA傳遞,該例是把數據表中與條件相符的特定字段中一條記錄值作為參數向JAVA傳遞,然後JAVA再將其內容按照逐字展開的形式在網頁中顯示:Java參數傳給170%>CELLPADDING二0>總之,JAVA語言中的參數傳遞與C語言或者C++語言有所不同,在進行
8、程序設計時需多加註意參考文獻:[1]龔雄興.C、C++、Java、C#中參數傳遞方式比較[J].福建電腦,2009(5)[2]於國防,袁小平.利用ASP實現JAVA動態參數的傳遞[J1.計算機應用,2008(11)[3]邵立兵.Java程序中動態參數的傳遞[J]•微計算機應用,2007(3)[4]張振蕊,翟霞.淺析Java語言中接口的應用[J]
此文档下载收益归作者所有