java函数只有参数类不一样_java的函数参数传递
java中只有一種參數傳遞方式:傳值;這點和c++不一樣,c++中有傳值和引用兩種方式。雖然java只有傳值這
一種傳遞方式,但是根據參數類型的不同,函數對參數的影響也會不一樣。可以這么說:形參是實參的一份拷貝,
當參數類型是基本數據類型時,對形參的處理不影響實參,也就是你想通過形參交換兩個實參是行不通的;當形參
是對象時(事實上,是對象的引用),形參和實參指向的是同一個對象,所以通過形參對對象進行操作會影響實參
所指向的對象。我們看看下面的swapList函數
//交換兩個list對象
public static void swapList(List listA,List listB){
List temp = listA;
listA=listB;
listB=temp;
}
執行這個函數
List liA=new ArrayList();
List liB=new ArrayList();
int x=3;
int y=5;
liA.add(x);
liB.add(y);
swapList(liA,liB);//交換
for(int each:liA)
System.out.println(each);
發現打印出來的liA里面的元素還是3,說明交換沒有成功,仔細想一下,就會發現執行swapList函數,listA、listB
分別是liA、liB的一份拷貝,listA與listB交換,listA指向了原來listB指向的對象,listB指向了原來listA指向的
對象,但是對listA和listB的處理不影響liA、liB。所以liA和liB還是分別指向原來的對象。
最后,python的參數傳遞方式與java基本一致。
總結
以上是生活随笔為你收集整理的java函数只有参数类不一样_java的函数参数传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把4399小游戏的代码_25行代码带
- 下一篇: 2014年计算机初级应用考试是,2014