为什么静态方法不能改变值,除非我 return 值

Why static method cannot make values change unless I return the values

今天学习了静态方法,对于静态方法内部的值是如何变化的,一头雾水。 当我这样写静态方法时

public class test{
public static int printInt(int t,int n){
System.out.println(t);
t= t + n;
return n;
}
}

并在 main

中调用它
public class Method {
public static int i;
public static int m;
public static void main(String[] args){
    i = 5;
    m = 6;

    test.printInt(i,m);
    System.out.println(i);
}
}

t 并没有像我想的那样改变。 如果静态方法只改变你 return?

的值

术语 static 用最简单的术语表示属于 class 的事物。在上面的代码方法 printInt 属于 class test 而不是这个 class.

的特定实例

在另一个 class Method 的主要方法中,您试图将局部变量 im 作为参数传递,并且由于它们的副本将传递给方法 printInt。您对复制而不是实际参数进行更改。因此更改不会反映在主要方法中。

注意:在 Java 中使用驼峰式大小写和其他标准编码约定。另外命名 class Method 是个坏主意。