JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞詳解

JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞詳解

深圳達(dá)內(nèi)教育      2022-04-08 06:28:01     7

JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞詳解,  今天深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)小編為大家介紹JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞,希望通過此文大家能夠熟悉JAVA基本

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

  

今天深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)小編為大家介紹 JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞,希望通過此文大家能夠熟悉JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞,下面就隨小編一起來了解一下JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞。



1、java基本數(shù)據(jù)類型的參數(shù)傳值


  對(duì)于java基本數(shù)據(jù)類型,修改這個(gè)值并不會(huì)影響作為參數(shù)傳進(jìn)來的那個(gè)變量,因?yàn)樾薷牡氖欠椒ǖ木植孔兞?是一個(gè)副本。實(shí)參的精度級(jí)別應(yīng)等于或低于形參的精度級(jí)別,否則報(bào)錯(cuò)。


class JB{

    void f(int x, int y){

        x=x+1;

        y=y+1;

        System.out.printf("參數(shù)x和y的值分別是:%d, %dn", x, y);

    }

}

public class CS {

    public static void main(String[] arg){

        int x=10;

        int y=12;

        JB jb=new JB();

        jb.f(x, y);  

        System.out.printf("main方法中x和y的值分別是:%d, %dn", x, y);

    }

}


結(jié)果:


  參數(shù)x和y的值分別是:11, 13


  main方法中x和y的值分別是:10, 12



  2、java引用數(shù)據(jù)類型的參數(shù)傳值


  java引用數(shù)據(jù)類型包括類、數(shù)組以及后面將要學(xué)習(xí)的接口。當(dāng)形參是引用類型時(shí),實(shí)參傳給形參的值是對(duì)象的引用。如果修改形參引用的對(duì)象,那么實(shí)參引用的對(duì)象也會(huì)發(fā)生同樣的變化。因?yàn)閷?shí)參的引用拷貝給了形參,所以實(shí)參和形參引用同一個(gè)對(duì)象,對(duì)形參引用對(duì)象的修改就相當(dāng)于對(duì)實(shí)參引用對(duì)象的修改。


  如果修改的不是形參引用的對(duì)象而是形參值本身,也就是讓形參指向其它對(duì)象,則實(shí)參值和實(shí)參引用的對(duì)象都不改變。


class A{

    int N;

    A(int n){

        N = n;

    }

    void setN(int n){

        N = n;

    }

    int getN(){

        return N;

    }

}

class A2 extends A{


    A2(int n) {

        super(n);

    }

}

class B{

    void f(A a){

        a.setN(12);

//        a = new A2(111);

        System.out.println("在執(zhí)行方法f時(shí), 形參a修改了自己的N值");

        System.out.println("當(dāng)前形參mouse的N值: " + a.getN());

    }

}


main



B b = new B();

        A a = new A(2);

        System.out.println("在調(diào)用方法f之前,實(shí)參a的N值: "+ a.getN());

        b.f(a);

        System.out.println("在調(diào)用方法f之后, 實(shí)參a的N值: " + a.getN());



  結(jié)果:


  在調(diào)用方法f之前,實(shí)參a的N值: 2


  在執(zhí)行方法f時(shí), 形參a修改了自己的N值


  當(dāng)前形參a的N值: 12


  在調(diào)用方法f之后, 實(shí)參a的N值: 12



  注意:形參指向其它對(duì)象這句話的理解,a = new A2(111);讓mouse又指向了另一個(gè)對(duì)象,所以他所修改后的值和實(shí)參沒有關(guān)系,實(shí)參的值和引用都不會(huì)改變。在代碼中新加入的A2就是繼承了A,通過方法傳入的是A(a)的對(duì)象的引用,把a(bǔ) = new A2(111);那么之后改變是A2的內(nèi)容,和A就無關(guān)了,所以A(實(shí)參)的引用對(duì)象和值都不變。


  結(jié)果:


  在執(zhí)行方法f時(shí), 形參a修改了自己的N值


  當(dāng)前形參a的N值: 111


  在調(diào)用方法f之后, 實(shí)參a的N值: 2



以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)小編為大家介紹的“JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。


相關(guān)免費(fèi)視頻教程推薦——java初級(jí)視頻入門教程下載


java引用數(shù)據(jù)類型參數(shù)傳遞:http://www.bjpowernode.com/xiazai/2621.html


java基本數(shù)據(jù)類型參數(shù)傳遞:http://www.bjpowernode.com/xiazai/2623.html



培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。