在java中實(shí)現(xiàn)C#語(yǔ)法里的按引用傳遞參數(shù)的方法
在C#中,在次函數(shù)中調(diào)用時(shí)改變了其中的數(shù)值,主函數(shù)中也將發(fā)生改變
ref 關(guān)鍵字使參數(shù)按引用傳遞。其效果是,當(dāng)控制權(quán)傳遞回調(diào)用方法時(shí),在方法中對(duì)參數(shù)所做的任何更改都將反映在該變量中。若要使用 ref 參數(shù),則方法定義和調(diào)用方法都必須顯式使用 ref 關(guān)鍵字
out 關(guān)鍵字會(huì)導(dǎo)致參數(shù)通過(guò)引用來(lái)傳遞。這與 ref 關(guān)鍵字類似,不同之處在于 ref 要求變量必須在傳遞之前進(jìn)行初始化。若要使用 out 參數(shù),方法定義和調(diào)用方法都必須顯式使用 out 關(guān)鍵字。
Java里面不像C#那樣,Java只有對(duì)象類型參數(shù)才是傳地址的,Java的基礎(chǔ)類型變量做參數(shù)的時(shí)候,都只是傳值。
解決方法是,用Java的類做函數(shù)的參數(shù)類型。
如下是我寫的一個(gè)例子說(shuō)明:
文件名:byRefVariable.java
//--------------------------------------
public class byRefVariable{
public static void main(String args[]) {
obj test=new obj();
System.out.println("沒有把test作實(shí)參傳遞給changeIt方法之前的test.var的值="+test.var);
changeIt(test);//坐實(shí)參傳遞到一個(gè)函數(shù)!
System.out.println("test作實(shí)參傳遞給changeIt之后"+test.var);
}
public static void changeIt(obj a) {
a.var=12580;
}
}
class obj //我在這里定義了一個(gè)類。
{ int var=0;}
以上就是小編為大家?guī)?lái)的在java中實(shí)現(xiàn)C#語(yǔ)法里的按引用傳遞參數(shù)的方法的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
相關(guān)文章
Java CharacterEncodingFilter案例詳解
這篇文章主要介紹了Java CharacterEncodingFilter案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Sentinel?Gateway自定義限流返回結(jié)果方式
這篇文章主要介紹了Sentinel?Gateway自定義限流返回結(jié)果方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Java模擬實(shí)現(xiàn)HashMap算法流程詳解
在java開發(fā)中,HashMap是最常用、最常見的集合容器類之一,文中通過(guò)示例代碼介紹HashMap為啥要二次Hash,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02
Windows安裝Kafka(kafka_2.12-3.9.1)配置Kafka的過(guò)程及遇到的問(wèn)題解決方案
文章詳細(xì)介紹了如何在Windows系統(tǒng)上安裝和配置Kafka,包括下載、解壓、配置日志目錄、修改配置文件、初始化存儲(chǔ)目錄、生成集群ID、配置KRaft模式、格式化日志目錄以及啟動(dòng)Kafka的步驟,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-11-11
SpringBoot整合Apache Spark實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)分析功能
ApacheSpark是一個(gè)開源的大數(shù)據(jù)處理框架,它提供了豐富的功能和API,用于分布式數(shù)據(jù)處理、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)等任務(wù),下面我們就來(lái)看看SpringBoot如何整合Apache Spark實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)分析功能吧2025-11-11
Spring Boot開啟遠(yuǎn)程調(diào)試的方法
這篇文章主要介紹了Spring Boot開啟遠(yuǎn)程調(diào)試的方法,幫助大家更好的理解和使用Spring Boot框架,感興趣的朋友可以了解下2020-10-10

