導航:首頁 > 編程語言 > java傳址調用

java傳址調用

發布時間:2023-02-11 15:13:08

『壹』 java中怎麼讓函數傳地址

你好 java中沒有地址傳遞
java中都是基於值的傳遞
基本類型變數作為參數傳遞的話,是直接把變數值復制過去
引用類型作為參數傳遞的話,是把引用裡面的值復制過去

『貳』 java值傳遞和地址傳遞

JAVA傳遞參數有兩種方式:值傳遞和引用傳遞
值傳遞是傳遞數據:如基本數據類型都是值傳遞
引用傳遞是把形參和實參的指針指向了堆中的同一對象,對象的引用和數組的引用。

實參,Java的基本數據類型,如int,double等在函數的參數傳遞時,傳遞的是副本。String也屬於這一范疇。

形參,而如果是對象,則傳遞的是引用。

如下代碼實例:

{

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
personp=newperson();
p.name="ken";
p.age="12";

reset(p);//傳遞的是p的指針地址,方法裡面在對p的屬性進行修改,方法結束後影響依然存在。

Stringname=p.name;
Stringage=p.age;
System.out.println(name+age);
//name=gg,age=223
setContentView(R.layout.main);
}

privatevoidreset(personap){
ap.name="gg";
ap.age="223";
} classperson{
Stringname;
Stringage;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetAge(){
returnage;
}
publicvoidsetAge(Stringage){
this.age=age;
}
}

『叄』 java傳地址

在java中簡單類型沒有傳引用,
so樓上幾人的回答是錯誤的。
int等基本類型只能傳值。

給你一個實際代碼,可以達到傳遞地址的效果
但是實際上不是傳了int a的地址給int b,而是整個Class Test 的地址被傳遞了。

public class TestChuanCan {
/**
* @param args
*/
public static void main(String[] args) {
int a=1;
Test t=new Test();
System.out.println("init:"+t.c);
t.c=a;
System.out.println("before chang:"+t.c);
changInt(t);
System.out.println("after chang:"+t.c);
}
public static void changInt(Test i){
i.c=3;
Out.println("inner:"+i.c);
}
}
class Test{
int c;
public Test(){
c=4;
}
}

『肆』 Java通過JNI調用C 傳遞參數時,想傳遞地址,怎麼實現

java數組傳遞給jni實際是指針,只是java禁止你直接在jni里對java數組操作,所以在jni需要回對java數組轉換為jni里可以答操作的數組。典型的還有字元串,c struct等。
之所以禁止jni直接操作數組可能是jvm在安全等方面的考慮。jni調用涉及到java內存棧和native內存棧。jvm只能處理到java內存,沒有實現自動管理jni調用的內存。試想下如果jni里操作java數組剛好被回收了會怎樣?
所以在jni里需要拷貝java數組副本,而且分配或者是引用了對象,需要手動釋放刪除(DeleteLocalRef、ReleaseXX)。jni調用實際是個很大的開銷.

閱讀全文

與java傳址調用相關的資料

熱點內容
微信支付resultcode 瀏覽:224
如何編程繼電器模塊 瀏覽:698
顏色配置文件和圖像 瀏覽:595
小米雲端怎麼同步數據 瀏覽:420
蘋果手機微信文件如何轉釘釘 瀏覽:310
跨境電商新政文件 瀏覽:396
什麼app能看香港房 瀏覽:590
喪屍電視劇哪個app看 瀏覽:196
電腦版上傳視頻找不到文件在哪 瀏覽:164
javastringtemplate 瀏覽:594
聯想啟天m7300能升級內存嗎 瀏覽:698
精雕怎麼打開圖片文件 瀏覽:161
ug編程鏜孔g76如何使用 瀏覽:719
7歲到18歲少兒編程學什麼 瀏覽:413
mac文件怎麼列印 瀏覽:756
農葯登記許可證查詢哪個網站 瀏覽:857
素材站用什麼網站系統 瀏覽:173
ug如何用鉸刀編程 瀏覽:647
三國志版本介紹 瀏覽:260
情侶用的定位app有哪些 瀏覽:244

友情鏈接