亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

JAVA語言中的參數(shù)傳遞

時間:2024-11-03 16:38:20 java語言 我要投稿
  • 相關(guān)推薦

JAVA語言中的參數(shù)傳遞

  導(dǎo)語:在程序設(shè)計中,C語言或者C++語言的一些參數(shù)傳值或者地址都十分明確,但是在JAVA中還存在著一些爭論,甚至有所謂的結(jié)論認(rèn)為:在JAVA里參數(shù)傳遞是按值傳遞。下面就由小編為大家介紹一下JAVA語言中的參數(shù)傳遞,歡迎大家閱讀!

  一、按值傳遞

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

  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);//

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

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

  }

  }

  運行結(jié)果是:

  test1方法中的a===5

  main方法中的a===3

  二、按引用傳遞

  所謂的按引用傳遞是指方法調(diào)用的過程中,按照引用實現(xiàn)參數(shù)的傳遞,其所傳遞的參數(shù)內(nèi)容是引用地址,即變量對的內(nèi)存空間地址。按引用傳遞也著顯著的特點,它所傳遞的內(nèi)容是值的引用,無論傳遞前還是傳遞后均指向同個內(nèi)存空間?梢酝ㄟ^以下示例加以說明:

  第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行}

  運行結(jié)果如下:

  test1方法中的age=20

  main方法中的age=20

  三、內(nèi)存分配示意圖

  要準(zhǔn)確理解按引用傳遞的過程,就要清楚的知道內(nèi)存分配的過程,可以通過以下示例進(jìn)行說明:

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

  main方法中的變量a

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

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

  main方法中的變量a

  (此時age=10)

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

  main方法中的變量a

  (此時age=10)

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

  main方法中的變量a

  test1方法中的變量a

  (此時age=10)

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

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

  main方法中的變量a

  test1方法中的變量a

  (此時age=20)

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

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

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

  四、利用ASP實現(xiàn)JAVA在網(wǎng)頁中的參數(shù)傳遞

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

【JAVA語言中的參數(shù)傳遞】相關(guān)文章:

java語言參數(shù)傳遞介紹06-12

java通過值傳遞參數(shù)的方法是什么11-06

淺談Java語言中static的作用08-10

C語言中參數(shù)的傳值問題考題08-22

C語言函數(shù)參數(shù)傳遞問題10-17

C語言函數(shù)調(diào)用與參數(shù)傳遞08-05

Java語言中substr和substring的區(qū)別07-12

JAVA程序語言中的運算符10-09

C語言中指針變量作為函數(shù)參數(shù)詳解07-01

網(wǎng)頁開發(fā)中JavaScript傳遞參數(shù)方法比較08-02