999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JAVA語言中的參數傳遞探究

2011-12-31 00:00:00張志峰
中國科技財富 2011年14期

摘要:在程序設計中,C語言或者C++語言的一些參數傳值或者地址都十分明確,但是在JAVA中還存在著一些爭論,甚至有所謂的結論認為:在JAVA里參數傳遞是按值傳遞。這種觀點顯然會誤導別人。本文就通過實現分析,闡述JAVA語言中的參數傳遞。

關鍵詞:JAVA;參數傳遞

一、按值傳遞

所謂的按值傳遞是指在調用方法時,是根據值的拷貝進行參數傳遞,其最顯著的特點也是其所傳遞的參數是值的拷貝,傳遞后即互不相干,可以通過以下示例說明:

public class TempTest{

private void test1(int a){

a=5;

System.out.println(\"test1方法中的a===\"+a);

}

public static void main(String[]args){

TempTest t=new TempTes(t);

int a=3;

t.test1(a);//

在進行傳遞后,test1方法中所改變的變量值不會對此處的a產生影響。

System.out.println(\"main方法中的a===\"+a);

}

}

運行結果是:

test1方法中的a===5

main方法中的a===3

二、按引用傳遞

所謂的按引用傳遞是指方法調用的過程中,按照引用實現參數的傳遞,其所傳遞的參數內容是引用地址,即變量對的內存空間地址。按引用傳遞也著顯著的特點,它所傳遞的內容是值的引用,無論傳遞前還是傳遞后均指向同個內存空間。可以通過以下示例加以說明:

第1行public class TempTest{

第2行private void test1(A a){

第3行a.age=20;

第4行System.out.println(\"test1方法中的age=\"+a.age);

第5行}

第6行public static void main(String[]args){

第7行TempTest t=new TempTes(t);

第8行A a=new A();

第9行a.age=10;

第10行t.test1(a);

第11行System.out.println(\"main方法中的age=\"+a.age);

第12行}

第13行}

第14行class A{

第15行public int age=0;

第16行}

運行結果如下:

test1方法中的age=20

main方法中的age=20

三、內存分配示意圖

要準確理解按引用傳遞的過程,就要清楚的知道內存分配的過程,可以通過以下示例進行說明:

(1):運行開始,運行第8行,創建了一個A的實例,內存分配示意如下:

main方法中的變量a

(此處是一個A的實例,age=0)

(2):運行第9行,是修改A實例里面的age的值,運行后內存分配示意如下:

main方法中的變量a

(此時age=10)

3):運行第10行,是把main方法中的變量a所引用的內存空間地址,按引用傳遞給test1方法中的a變量。請注意:這兩個a變量是完全不同的,不要被名稱相同所蒙蔽。內存分配示意如下:

main方法中的變量a

(此時age=10)

按引用傳遞賦值給test1方法中的變量a,因為是按引用傳遞,即所傳遞的內容是內存空間地址,因此在傳遞結束后,內存示意圖就會形成一個新的形式:

main方法中的變量a

test1方法中的變量a

(此時age=10)

即兩個變量均指向同一空間。

(4):運行第3行,為test1方法中的變量a指向的A實例的age進行賦值,完成后形成的新的內存示意圖如下:

main方法中的變量a

test1方法中的變量a

(此時age=20)

此時A實例的age值的變化是由test1方法引起的

(5):運行第4行,根據此時的內存示意圖,輸出test1方法中的age=20

(6):運行第11行,根據此時的內存示意圖,輸出main方法中的age=20

四、利用ASP實現JAVA在網頁中的參數傳遞

通常JAVA要從其所在的超文本中獲取參數,假如這些參數可預知或者不常改變,那么只需將對應的參數直接輸出超文本中即可。但是如果這些參數是無法預知或者經常變化的動態參數,那么就要相應的更改超文本中的這些參數。我們可以利用ASP實現這一功能。我們可以通過以下案例加以說明:

以單一的記錄值為參數向JAVA傳遞,該例是把數據表中與條件相符的特定字段中一條記錄值作為參數向JAVA傳遞,然后JAVA再將其內容按照逐字展開的形式在網頁中顯示:

Java參數傳給1<p>TLE></p>

70%>

<%If Request.Form =””Then %>

meet-3.asp”>

日期:

UE=1990-1-1>

<%Else %>

<%Session.timeout = 1’超時時間(分鐘)

If IsObject(Session(”Web SQL-conn”)) Then

Set conn = Session(”Web SQL-conn”)

Else

Set conn = Server.CreateObject(”ADODB.Con-

nection”)

conn.open”Web SQL”,”sa”,”pswd”

Set Session(”Web SQL-conn”) = conn

End If %>

<%sql =”SELECT * FROM meet WHERE date =’”

Request.Form(”date”) ”’”

Set rs = Server.CreateObject(”ADODB.Recordset”)

rs.Open sql, conn, 3, 3 %>

CELLPADDING=0>

< applet code=”WordMove. class”width = 240

height = 330>

contents”)%>>

<% End If %>

總之,JAVA語言中的參數傳遞與C語言或者C++語言有所不同,在進行程序設計時需多加注意。

參考文獻:

[1] 龔雄興. C、C++、Java、C#中參數傳遞方式比較[J].福建電腦,2009(5)

[2] 于國防,袁小平. 利用ASP實現JAVA動態參數的傳遞[J].計算機應用,2008(11)

[3] 邵立兵. Java程序中動態參數的傳遞[J].微計算機應用,2007(3)

[4] 張振蕊,翟霞. 淺析Java語言中接口的應用[J]. 科技創新導報, 2010,(20) .

[5] 高榮芳. 如何處理Java程序中的錯誤[J]. 陜西廣播電視大學學報, 2010,(02)

主站蜘蛛池模板: 久草视频精品| 国产精品毛片在线直播完整版| www亚洲天堂| 亚洲电影天堂在线国语对白| 久久亚洲国产视频| 国产精品美女自慰喷水| 日日碰狠狠添天天爽| 露脸一二三区国语对白| 伊人狠狠丁香婷婷综合色| 国模私拍一区二区| 日本欧美在线观看| 国产十八禁在线观看免费| 国产乱子伦精品视频| 国产精品微拍| 亚洲综合在线网| 成人综合网址| 成人免费午间影院在线观看| 中文字幕有乳无码| 中文一级毛片| 无码综合天天久久综合网| 免费一级成人毛片| 天天摸天天操免费播放小视频| 日韩美一区二区| 国产呦精品一区二区三区下载 | 久996视频精品免费观看| 国产成人精品高清在线| 精品亚洲国产成人AV| 亚洲91在线精品| 天天干天天色综合网| 女人18一级毛片免费观看| 亚洲av中文无码乱人伦在线r| 欧美在线视频a| 久久精品66| 亚洲人成色在线观看| AV熟女乱| 国产一区二区三区视频| 国产99免费视频| 999国内精品视频免费| 日本影院一区| 九色在线观看视频| 亚洲欧美h| 亚洲天堂777| 丁香六月综合网| 波多野结衣久久高清免费| 久久精品一品道久久精品| 色综合网址| 2021最新国产精品网站| 尤物视频一区| 国产成人综合久久精品尤物| 国产精品55夜色66夜色| 精品国产一二三区| 青青热久麻豆精品视频在线观看| 久久久受www免费人成| 青草国产在线视频| 91探花国产综合在线精品| 欧美啪啪精品| 手机在线免费不卡一区二| 成年免费在线观看| 性视频一区| 久草视频中文| 国产乱肥老妇精品视频| a网站在线观看| 久久精品无码中文字幕| 亚洲欧美日韩中文字幕在线一区| 日本午夜在线视频| 日本免费福利视频| 国产精品视频导航| 久久精品人妻中文系列| 亚洲精品黄| 欧美成人二区| 精品福利一区二区免费视频| 亚洲无码高清一区二区| 亚洲AV无码久久精品色欲| 国产传媒一区二区三区四区五区| 久青草免费在线视频| 香蕉在线视频网站| 怡春院欧美一区二区三区免费| 久久人与动人物A级毛片| 亚洲av无码久久无遮挡| 人人看人人鲁狠狠高清| 玖玖精品在线| 亚洲国产综合自在线另类|