大家好,欢迎来到IT知识分享网。
在 Java 中,形参是方法声明中的变量,用于接收调用方法时传递的实参。实参则是在方法调用时实际传递给该方法的值或者对象。
当我们声明一个方法时,可以指定该方法所需的参数列表,也就是该方法的形参。例如:
public void printMessage(String message) { System.out.println(message); }
在上面的代码中,printMessage 方法有一个 String 类型的参数 message。这个参数就是方法的形参。
当我们调用该方法时,需要传递一个字符串作为参数,例如:
printMessage("Hello, world!");
在上面的代码中, “Hello, world!” 就是 printMessage 方法的实参。在方法执行时,实参会被赋值给形参,然后方法使用形参进行操作。
Java 中的参数可以分为值类型和引用类型两种。
值类型参数在方法调用时会将其对应的实参的值复制一份,然后将复制后的值传递给形参,这意味着在方法内部对形参进行操作并不会影响到外部实参的值。Java 中的基本数据类型(如 int、float、boolean 等)都属于值类型参数。
引用类型参数则是将实参对象的地址(也称为引用)传递给形参,形参和实参指向的是同一个对象。因此,在方法内部对引用类型形参的操作会影响到该对象的状态,从而可能改变外部实参对象的值。Java 中的类、接口、数组等都属于引用类型参数。
需要注意的是,在传递引用类型参数时,虽然形参和实参指向同一个对象,但如果在方法内部重新为形参赋值,则形参将指向一个新的对象,而原始实参对象不受影响。
如以下的代码
public class TestInfo { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public static void main(String[] args) { TestInfo testInfo = new TestInfo(); testInfo.setName("234"); TestInfo temp = testInfo; c(testInfo); System.out.println(temp.getName()); //输出234 System.out.println(testInfo.getName()); //输出234 } private static void c(TestInfo testInfo) { testInfo = new TestInfo(); testInfo.setName(""); } }
这里两个输出都是为 234,因为在c这个方法中,重新new了一个对象,形参的指向的对象是一个新的了,所以它调整的也就不再是原来testInfo指向的对象了
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/108080.html