返回

java—为什么通过方法时变量值不改变[重复]

发布时间:2022-05-27 17:43:36 336
# php

我是编程新手 Ryan。我今天正在阅读我教科书的 OOP 部分,我发现了一个我根本不会理解的部分。有2个代码,我将它们复制在这里。第一个是:

public class Change {

    public static void main(String[] args) {
             int x = 17;                                 
               dontChange(x);                          
               System.out.println(x);
    }
    static void dontChange(int z) {                
        z = 42;                                 
    }                                       
}

执行代码时。输出仍然是17,这不是预期的42(根据我对参数和方法的理解)

教科书也提供了另一个例子,这导致了一个变化。

public class Change {   

void change(Student s) {//student is a type

    s.name = "Fred";

public static void main(String[] args) {  
    
     stu.name = "Jane";
     change(stu);

     System.out.println(stu.name);
 }
}                  

这段代码会导致输出名为“Fred”,我想知道它们之间的区别在哪里,当它们看起来相似,工作方式完全不同时,这些代码背后的原因是什么。

谢谢你浏览了整个帖子,祝你有一个美好的一天!

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像