導航:首頁 > 編程語言 > java類的傳遞參數

java類的傳遞參數

發布時間:2022-08-02 13:27:38

java 類之間數值的傳遞

Java語言中方法間的數據傳遞方法
方法是數據加工處理或相應操作的基本模塊,為了實現某種需求而調用一個方法,需要為被調用的方法傳遞數據,以便於被調用的方法依據所提供的數據進行相應的操作。
C++語言的函數間的數據傳遞可以分為:數值傳遞、地址傳遞和引用傳遞。地址傳遞的形參是同類型的指針,由於指針操作的不安全等問題,Java語言屏棄了指針,故Java語言方法之間的數據傳遞只有數值傳遞和引用傳遞。
1方法間的數值傳遞
所謂的數值傳遞又稱為值傳遞,數值傳遞的特徵是:調用方法的實參可以是常量、變數或者是表達式,形參則是對應數據類型的變數。如果實參是變數,則實參
和形參是相互獨立的兩個單元。在方法調用的過程中,實參的值將拷貝到形參中,此後形參的任何修改都不會影響實參。數值傳遞方法見例1。
[例1]數值傳遞調用方法舉例:
importjava.io.*;
public class ValueTransmit
{publicstatic void main(Stringargs[])
{intx=5,y=66;
System.out.println(「在主方法,交換前的:x=」+x+「,y=」+y);
swap(x,y);
System.out.println(「在主方法,交換後的:x=」+x+「,y=」+y);
}
static voidswap(int x,int y)
{int temp;
System.out.println(「在swap方法未交換時:x=」+x+「,y=」+y);
temp=x;x=y;y=temp;
System.out.println(「在swap方法交換之後:x=」+x+「,y=」+y);
}
}
例1程序的輸出結果如下所示:
在主方法, 交換前的:x=5,y=66
在swap方法未交換時:x=5,y=66
在swap方法交換之後:x=66,y=5
在主方法, 交換前的:x=5,y=66
在例1程序中,方法調用的「swap(x,y);」中的實在參數x,y是兩個單元,而形式參數中的x,y又是兩個單元,它們是互相獨立的。所以,對形式參數的改變並不影響實在參數的內容;程序的運行結果也驗證上述觀點。

2方法間的引用傳遞
方法之間的數據傳遞還有一種方法,就是引用傳遞。引用傳遞的實質就是將實在參數的地址傳遞給形式參數引用,也就是形式參數是實在參數的別名。

Ⅱ Java中函數參數的傳遞是怎樣進行的

java中的參數傳遞比較簡單,都是值傳遞,沒有引用的說法,就算是對象也是將其引用的地址傳遞過去,不想。net還有引用的說法。

Ⅲ java 中 如何通過命令行來傳遞參數

可以在命令行運行java程序時加上程序的參數。

例子如下:

public class HelloWorld{


public static void main(String args[]){


System.out.println("temp=" + args[0]);


}


}

源代碼截圖:

解釋一下: String[ ] args

該參數,是一個字元串數組,用來接收從命令行輸入的參數

1. 參數之間用空格隔開

2. java解釋器會自動處理,把用空格隔開的每一個參數通過args數組傳遞給買呢()方法。

3. 參數的下標從0開始,args[0]表示第一個參數,例如java HelloWorld 10 20 30

4.可以有多個空格,多個空格會被忽略。

(3)java類的傳遞參數擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

Ⅳ java 中怎樣實現類類型作為參數傳遞

直接把參數類型定義為對應的類,就是類類型。

1、定一個類

publicclassA{//定義一個類A
}

2、定一個方法,類A作為參數傳遞

publicclassB{//定義一個類B
publicvoidshow(Aa){//類作為參數傳遞
}
}

Ⅳ java 參數傳遞問題

這是java方法參數傳遞的機制
前面那個圖傳遞的是值的副本,無論在方法內部怎麼變換,改變的只是它的副本,而它本身在main方法中並沒有發生任何變化。所以不會交換。
而數組,參數傳遞的是引用的副本。就是說棧里存放的是一個引用,這個引用指向堆里的數組數據。而方法傳遞就傳遞這個引用的副本,這個副本一樣指向堆里的數組的數據。
在方法中按照引用的副本查找到數組並把它的數據交換了,直接對堆中的數據做了變化。所以出了這個方法,在原引用指向的堆內的數據已經發生了變化。

Ⅵ java 怎麼傳遞參數

傳對象,之後通過反射,getClass()獲得對應的類,具體代碼如下
Class<?>type=object.getClass();
Method method=type.getMethod("getId",null);//getId為getId()方法
Object id=method.invoke(object,null);

Ⅶ JAVA基本類型參數傳遞

不是地址是一個引用,這個引用將來只能指向Time類的地址,在你沒通過new Time()等操作創建一個Time對象的時候,實際上並不存在地址

Ⅷ Java參數傳遞

這是因為java中只有值傳遞,沒有引用傳遞。
變數名str是引用,它始終指向「hello」字元串。
你的changeStr()不會修改str指向「different」,因為java中只有值傳遞。

Ⅸ Java類如何傳值


publicclassBase{
privateStringsdate;

publicStringgetSdate(){
returnsdate;
}

publicvoidsetSdate(Stringsdate){
this.sdate=sdate;
}

publicBase(Stringsdate){
this.sdate=sdate;
}
}
classAextendsBase{
privateStringsdate;
publicA(Stringsdate){
super(sdate);
}
}
//這種方式可以,但是僅限於父子類之間,如果想在實例還有造出來之前,使用實例內的內容,那是不可能的

Ⅹ java中對象類型的參數傳遞

因為Java里方法參數的傳遞實際上只有值傳遞(不管基本類型或引用類型),對基本類型來說是把其值傳遞了一份過去,而對引用類型來說實際是把引用地址的值復制一份傳遞了過去。

另外,只有用new方法創建的對象的實際成員數據是存放在堆裡面的,而其他方法內部定義的變數都存放在棧中,一旦出了方法的范圍就失效,會被內存回收。

知道了以上兩點,就可以分析了,swap方法里t1,t2,temp都是存放在棧里的只保存引用類型地址的變數,不管他們怎麼交換,實際上不會改變堆裡面的內容,而main方法里的time1, time2的引用類型雖然其地址仍在棧中,而實際數據在堆中,程序中沒有任何改變其內容的語句,因此,不會產生交換。

閱讀全文

與java類的傳遞參數相關的資料

熱點內容
gz壓縮文件夾 瀏覽:177
字母h從右往左跑的c語言編程 瀏覽:127
安卓手機如何擁有蘋果手機橫條 瀏覽:765
業余編程語言哪個好學 瀏覽:137
按照文件夾分個壓縮 瀏覽:104
航空工業出版社單片機原理及應用 瀏覽:758
如何在電信app上綁定親情號 瀏覽:376
安卓的怎麼用原相機拍月亮 瀏覽:805
配音秀為什麼顯示伺服器去配音了 瀏覽:755
c盤清理壓縮舊文件 瀏覽:325
app怎麼交付 瀏覽:343
圖蟲app怎麼才能轉到金幣 瀏覽:175
如何做徵文app 瀏覽:446
用什麼app管理斐訊 瀏覽:169
安卓如何下載寶可夢劍盾 瀏覽:166
編譯器開發屬於哪個方向 瀏覽:940
megawin單片機 瀏覽:687
以色列加密貨幣監督 瀏覽:909
程序員前端現在怎麼樣 瀏覽:499
伺服器和介面地址ping不通 瀏覽:557