<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            JAVA語言中的參數傳遞

            時間:2024-12-03 10:46:17 java語言 我要投稿
            • 相關推薦

            JAVA語言中的參數傳遞

              導語:在程序設計中,C語言或者C++語言的一些參數傳值或者地址都十分明確,但是在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語言中的參數傳遞11-08

            java語言參數傳遞介紹06-12

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

            Java語言中方法之間數據傳遞的探討10-30

            C語言中編寫可變參數函數09-28

            JAVA語言中的實例變量06-01

            Java語言中的常見錯誤10-01

            C語言函數調用與參數傳遞08-05

            C語言函數參數傳遞問題10-17

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院