欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java方法參數(shù)傳遞機制的原理解析-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Java方法參數(shù)傳遞機制的原理解析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java方法參數(shù)傳遞機制的原理解析”吧!

成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)電信內(nèi)江機房,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。

Java方法中如果聲明了形參,在調(diào)用方法時就必須給這些形參指定參數(shù)值,實際傳進去的這個值就叫做實參。這就涉及到Java中的參數(shù)傳遞機制,值傳遞。

基本數(shù)據(jù)類型

基本數(shù)據(jù)類型,值傳遞的體現(xiàn)是數(shù)值的傳遞。

public class TransferTempTest {  public static void main(String[] args) {    //基本數(shù)據(jù)類型參數(shù)傳遞    TransferTempTest test = new TransferTempTest();    int num1 = 10;    int num2 = 20;    System.out.println("進行交換前:");    System.out.println("num1 = " + num1 + ",num2 = " + num2);    test.swap(num1, num2);    System.out.println("交換之后:");    System.out.println("num1 = " + num1 + ",num2 = " + num2);  }  public void swap(int a, int b) {    int temp = a;    a = b;    b = temp;    System.out.println("交換過程中:");    System.out.println("num1 = " + a + ",num2 = " + b);  }}

//運行結果進行交換前:num1 = 10,num2 = 20交換過程中:num1 = 20,num2 = 10交換之后:num1 = 10,num2 = 20

如圖所示:

在堆內(nèi)存中創(chuàng)建 TransferTempTest類型的對象,假設此時地址值時0x1177(只是假設),并讓棧內(nèi)存中的引用變量test存儲0x1177,指向該對象。  在棧內(nèi)存中聲明兩個變量num1和num2,并為他們賦值10和20。這時可以看到打印的結果為:num1 = 10,num2 = 20  程序繼續(xù)向下,進入swap方法,首先在棧區(qū)聲明兩個變量a和b,他們都是形參,這時將num1和num2的值分別傳入,此時如藍色字體所顯示,a=10,b=20。  接著還是在棧區(qū)聲明一個名為temp的變量,這時執(zhí)行的交換過程是在swap方法中,交換的變量其實是num1和num2的拷貝值,所以方法內(nèi)打印:num1 = 20,num2 = 10  最后,退出這個方法,局部變量銷毀,發(fā)現(xiàn)其實一頓操作,原先的值根本就沒有改變,打印結果和原先一樣:num1 = 10,num2 = 20

引用數(shù)據(jù)類型

基本數(shù)據(jù)類型,值傳遞的體現(xiàn)是地址值的傳遞。

public class TransferTempTest {  public static void main(String[] args) {  //引用類型參數(shù)傳遞    DataTemp data = new DataTemp();    data.a = 2;    data.b = 4;    System.out.println("進行交換前:");    System.out.println("data.a = " + data.a + ",data.b = " + data.b);    data.swapClass(data);    System.out.println("進行交換后:");    System.out.println("data.a = " + data.a + ",data.b = " + data.b);  }}class DataTemp {  int a;  int b;  public void swapClass(DataTemp data) {    int temp = data.a;    data.a = data.b;    data.b = temp;    System.out.println("交換過程中:");    System.out.println("data.a = " + data.a + ",data.b = " + data.b);  }}

//運行結果進行交換前:data.a = 2,data.b = 4交換過程中:data.a = 4,data.b = 2進行交換后:data.a = 4,data.b = 2

如圖所示:

  1. 在堆內(nèi)存中創(chuàng)建DataTemp類型的對象,并讓棧內(nèi)存中的引用變量data存儲0x7788(假設地址值),指向該對象,實例變量a和b的初始值都是0。  讓data.a=2,data.b=4,如藍色字體顯示,這時打?。篸ata.a = 2,data.b = 4  進入swapClass方法,首先在棧區(qū)聲明形參變量data,將原來的data的地址值傳入,紅黑兩個data不是同一個?。?紅色data只是黑色data的拷貝值,且拷貝的是地址值。這時兩個data指向同一片堆區(qū)內(nèi)存,如紅色箭頭顯示。  接著還是在棧區(qū)聲明一個名為temp的變量,參與交換操作,這時操作的是堆區(qū)的數(shù)據(jù),所以方法里顯然打?。篸ata.a = 4,data.b = 2  最后,退出這個方法,局部變量銷毀,執(zhí)行的交換過程雖然是在swapClass方法中,但引用變量傳入形參傳遞的是地址值,意味著,這時的交換操作直接對堆區(qū)對象生效,所以最終交換成立:data.a = 4,data.b = 2

綜合練習

package com.my.pac05;public class TransferTest {  public static void main(String[] args) {    TransferTest test = new TransferTest();    test.first();  }  public void first() {    int i = 5;    Value v = new Value();    v.i = 25;    second(v, i);    System.out.println(v.i);  }  public void second(Value v, int i) {    i = 0;    v.i = 20;    Value val = new Value();    v = val;    System.out.println(v.i + " " + i);  }}class Value {  int i = 15;}

//運行結果15 020

總結

方法不能修改基本數(shù)據(jù)類型的參數(shù),他們改變的僅僅是他們的拷貝。  方法可以改變對象參數(shù)的狀態(tài),因為方法可以通過對象引用的拷貝修改對象狀態(tài)。  方法不能讓對象參數(shù)引用一個新的對象,方法得到的永遠都是拷貝值。

到此,相信大家對“Java方法參數(shù)傳遞機制的原理解析”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

網(wǎng)站欄目:Java方法參數(shù)傳遞機制的原理解析-創(chuàng)新互聯(lián)
URL鏈接:http://aaarwkj.com/article24/gecje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化Google、ChatGPT網(wǎng)站維護、軟件開發(fā)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
国产精品熟女在线视频| 日韩亚洲人成网站在线播放| 热久久青草精品欧美一区| 97人妻精品一区二区三区六| 日韩中文免费av一区| 手机在线观看av大片| av在线高清免费观看| 黄片超刺激在线看在线| 国产亚洲一线二线三线| 91久久精品凹凸一区二区| 日韩高清亚洲一区二区| 欧美大片在线观看高清| 久久香蕉国产线看观看亚洲| 亚洲最新精品一区二区| 亚洲欧美韩国日本成人综合| 国产激情视频一区二区三区| 熟女亚洲一区精品久久| 女优一区二区三区蜜桃| 久久伊人亚洲精品中文字幕| 91精品人妻互换一区二区| 婷婷亚洲悠悠色悠在线| 情侣自拍偷拍亚洲天堂区| 欧美激情韩国三级日本| 97成人在线视频免费| 日本不卡一二区不久精品免费 | 欧美黄片视频免费观看| 日韩成人一级片在线观看| 国产精品一区二区久久| 国产一区二区传媒视频| 欧美男女精品一区二区三区| 午夜视频在线观看91| 国语对白刺激真实精品| 欧美日韩精品综合国产| 九九九热在线观看视频| 最新在线中文字幕av不卡| 国产区二区三区在线视频| 日本人妻中文字幕在线一区| 美国一级黄片在线观看| 日本一区二区三区日韩欧美| 成人精品亚洲一区二区| 国产精品主播自拍视频|