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 使用按值調用,它也傳遞引用變數。
引用呼叫的基本功能是引用變數的位址。因此,如果變數的位址發生任何變化,無論在哪裡呼叫使用它的函數,都會反映出來。下面的程式碼將幫助您更好地理解此功能。
代碼:
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 中交換數字。下面的程式碼是一個範例,我們可以使用引用呼叫來交換兩個數字:
代碼:
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); } }
輸出:
說明:上面的程式正在交換兩個數字。我們採用了兩個整數變數 a 和 b,其值分別為 55 和 85。然後我們呼叫函數 swapByReference(a, b)。在此函數中,我們取得從 main 發送的這些變數。此函數取得 a 和 b 的值,然後交換這兩個變數的值。對於交換,我們使用了另一個變數“c”。完成後,函數將傳回 85 和 55 的值。我們看到,主要值與以前相同。這就是引用呼叫的用法。呼叫函數後,原始值將按原樣存儲,並且值會因該函數而更改。原始值保持不變。上述函數的輸出如下。
您可以看到,一旦函數完成工作,由於變數的位址,原始值被保留。變數沒有改變它們的位置。
在 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 中呼叫引用的另一個範例。在主體部分,我們呼叫了函數 EduAddByReference()。該函數從主函數中獲取數字並將其相加。該版本正在列印中。變數的該值將保留在該函數的本地值。一旦函數的控制權轉到主函數,它就會再次列印變量,它將具有原始值。您可以檢查下面的輸出,這將幫助我們讓這個程式更好地運行。
Java 中的引用呼叫呼叫函數並使用運算元或變數的位址來檢查資料。該值在本地發生變化,並且僅在函數範圍內持續存在。透過引用呼叫有助於保持原始值完整並在需要時修改它們。每當您希望變數在本地執行某些操作時都可以使用它。它保留了變數的原創性。
以上是Java 引用調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!