首页  >  文章  >  Java  >  Java 引用调用

Java 引用调用

王林
王林原创
2024-08-30 15:34:06768浏览

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 Call by Value下一篇:HashMap in Java