日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA基本数据类型和引用数据类型的参数传递详解

發(fā)布時間:2024/4/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA基本数据类型和引用数据类型的参数传递详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

今天動力節(jié)點java培訓機構(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ù)傳值

?

  對于java基本數(shù)據(jù)類型,修改這個值并不會影響作為參數(shù)傳進來的那個變量,因為修改的是方法的局部變量,是一個副本。實參的精度級別應等于或低于形參的精度級別,否則報錯。

?

class JB{

? ? void f(int x, int y){

? ? ? ? x=x+1;

? ? ? ? y=y+1;

? ? ? ? System.out.printf("參數(shù)x和y的值分別是:%d, %d ", 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, %d ", x, y);

? ? }

}

?

結(jié)果:

?

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

?

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

?

?

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

?

  java引用數(shù)據(jù)類型包括類、數(shù)組以及后面將要學習的接口。當形參是引用類型時,實參傳給形參的值是對象的引用。如果修改形參引用的對象,那么實參引用的對象也會發(fā)生同樣的變化。因為實參的引用拷貝給了形參,所以實參和形參引用同一個對象,對形參引用對象的修改就相當于對實參引用對象的修改。

?

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

?

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時, 形參a修改了自己的N值");

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

? ? }

}

?

main

?

?

B b = new B();

? ? ? ? A a = new A(2);

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

? ? ? ? b.f(a);

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

?

?

  結(jié)果:

?

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

?

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

?

  當前形參a的N值: 12

?

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

?

?

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

?

  結(jié)果:

?

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

?

  當前形參a的N值: 111

?

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

?

?

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

總結(jié)

以上是生活随笔為你收集整理的JAVA基本数据类型和引用数据类型的参数传递详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。