首頁 >Java >java教程 >Java 引用調用

Java 引用調用

王林
王林原創
2024-08-30 15:34:06810瀏覽

Java中引用呼叫的定義推斷我們使用參數作為引用。我們將參數引用作為參數發送給將使用它的函數。我們將這兩個參數作為實際參數和形式參數提供。這些將指的是確切的位置。這意味著每當在特定函數中進行更改時,這些變更都會反映在呼叫程序時的實際參數中。無需顯式指定或調用它。發送了變數的位址,這意味著這些實際變數正在呼叫該函數。

廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

以下是在Java中實作引用呼叫的方法:

void function_name(datatype1, datatype2); //Function declaration
int main()
{
Datatype declaration;
Function Call(datatype1, datatype2);
}
Function_name ()
{
// Function definition
}

說明:上面的語法先宣告一個函數。與 C 不同,Java 中沒有關於取得特定位址處的變數的具體規定。 Java 使用按值調用,它也傳遞引用變數。

Java 中的引用呼叫是如何運作的?

引用呼叫的基本功能是引用變數的位址。因此,如果變數的位址發生任何變化,無論在哪裡呼叫使用它的函數,都會反映出來。下面的程式碼將幫助您更好地理解此功能。

代碼:

Void inc(int );
Public static voidmain(string args[]) {
int a = 10;
System.out.println("Before function was called the Value of a = ", a);
void inc();
System.out.println("After function is called Value of a = ", a);
}
Void inc(intx) {
int x = x + 1;
}

這裡我們用變數宣告了函數 inc。之後,我們宣告了一個變數。此變數將採用定義的值。但隨著它的進行,我們呼叫“inc”函數。函數‘inc’將被調用,每當它被調用時,它都會指向變數‘a’的位置。它將建立引用變數的副本,一旦有值,這些值將傳遞給所使用的方法。該引用指向變數“a”的位址。它將遞增該值,然後當呼叫函數時,它會從此位址取得該值。在本例中它將是 11,因為 inc 函數會將值增加 1。該值將在 main 中列印。我們也可以建立引用變數的副本。如果建立新的物件或變數以供引用,則不會受到影響,因為主位址保持不變。

透過引用實作 Java 呼叫的範例

我們可以再看幾個例子,這將幫助我們更好地理解:

範例#1

透過使用「按引用呼叫」在 Java 中交換數字。下面的程式碼是一個範例,我們可以使用引用呼叫來交換兩個數字:

代碼:

public class EduByReference {
public static void main(String[] args) {
int num1 = 55;
int num2 = 85;
System.out.println("The values before swapping are: number1 = " + num1 + " and number2 = " + num2);
// Calling the function to swap
swapByReference(num1, num2);
System.out.println("\nThe numbers before and after swapping will be same in main:");
System.out.println("Once the swapping is done, the values will be back to original: num1 = " + num1 + " and num2 is " + num2);
}
public static void swapByReference(int num1, int num2) {
System.out.println("Before swapping in function locally, num1 = " + num1 + " num2 = " + num2);
// Swapping number1 and number2
int temp = num1;
num1 = num2;
num2 = temp;
System.out.println("After swapping in function locally, num1 = " + num1 + " num2 = " + num2);
}
}

輸出:

Java 引用調用

說明:上面的程式正在交換兩個數字。我們採用了兩個整數變數 a 和 b,其值分別為 55 和 85。然後我們呼叫函數 swapByReference(a, b)。在此函數中,我們取得從 main 發送的這些變數。此函數取得 a 和 b 的值,然後交換這兩個變數的值。對於交換,我們使用了另一個變數“c”。完成後,函數將傳回 85 和 55 的值。我們看到,主要值與以前相同。這就是引用呼叫的用法。呼叫函數後,原始值將按原樣存儲,並且值會因該函數而更改。原始值保持不變。上述函數的輸出如下。

您可以看到,一旦函數完成工作,由於變數的位址,原始值被保留。變數沒有改變它們的位置。

範例#2

在 Java 中使用引用呼叫來新增兩個數字:

代碼:

public class EduAddByReference{
int d=50;
public void add(int d){
d=d+100;//These changes will happen locally, that means it will be reflected only in this function
System.out.println("The value in function after performing addition is " + d);
}
public static void main(String args[]){
EduAddByReference edad=new EduAddByReference();
System.out.println("before change "+edad.d);
edad.add(500);
System.out.println("after change "+edad.d);
}
}

輸出:

Java 引用調用

說明: 上面的程式是 Java 中呼叫引用的另一個範例。在主體部分,我們呼叫了函數 EduAddByReference()。該函數從主函數中獲取數字並將其相加。該版本正在列印中。變數的該值將保留在該函數的本地值。一旦函數的控制權轉到主函數,它就會再次列印變量,它將具有原始值。您可以檢查下面的輸出,這將幫助我們讓這個程式更好地運行。

結論

Java 中的引用呼叫呼叫函數並使用運算元或變數的位址來檢查資料。該值在本地發生變化,並且僅在函數範圍內持續存在。透過引用呼叫有助於保持原始值完整並在需要時修改它們。每當您希望變數在本地執行某些操作時都可以使用它。它保留了變數的原創性。

以上是Java 引用調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Java 按值調用下一篇:Java 按值調用