對(duì)于 Java 程序員來(lái)說(shuō),實(shí)參和虛參是很常見(jiàn)的概念。實(shí)參是指在調(diào)用某個(gè)方法或函數(shù)時(shí),傳遞給它的具體數(shù)值,在方法體內(nèi)被稱為形式參數(shù)(或縮寫(xiě)形參)。而虛參則是指?jìng)鬟f給方法的引用或者指針,可快速傳遞參數(shù)而不占用太多的存儲(chǔ)空間。
public static void main(String[] args) {
int a = 10;
int b = 20;
int sum = add(a, b); // a, b 是實(shí)參
System.out.println("sum = " + sum); // 輸出 30
}
public static int add(int num1, int num2) { // num1, num2 是虛參
return num1 + num2;
}
在上述代碼中,我們可以看到,在 main 方法中,將 a 和 b 兩個(gè)值作為實(shí)參傳遞給了 add 方法,在 add 方法中,將 num1 和 num2 兩個(gè)形參作為虛參使用。虛參與實(shí)參的交互是通過(guò)棧幀完成的, 可避免直接傳遞內(nèi)存地址。
虛參的優(yōu)勢(shì)在于,它可以讓方法在一個(gè)單獨(dú)的內(nèi)存空間中執(zhí)行,它只需要占到棧幀指向位置的地方,而不是占用實(shí)際的內(nèi)存地址。這種方式不僅可以減少內(nèi)存的使用,也可以提高程序的執(zhí)行效率。
Java 中虛參和實(shí)參的關(guān)系是很重要的,在實(shí)現(xiàn)方法或函數(shù)時(shí),開(kāi)發(fā)者需要充分理解它們的差異,并且清楚地知道在方法調(diào)用時(shí),如何正確傳遞這些參數(shù)。