public class HelloWorld{
static class Sample {
private String n;
public Sample(String n){
this.n = n;
}
public String toString(){
return n;
}
}
public static void main(String []args){
Sample k = new Sample("A");
System.out.println(k);
stuff(k);
System.out.println(k);
}
public static void stuff(Sample k){
k = new Sample("B");
}
}
为什么打印AA而不是AB?我从一个关于C#的视频中看到了这个,但是显然java也有它。
答案 0 :(得分:1)
它的发生是因为你创建stuff
方法为静态。另外,它会起作用。
将此代码用于打印AB。
public class HelloWorld{
static class Sample {
private String n;
public Sample(String n){
this.n = n;
}
public String toString(){
return n;
}
}
public static void main(String []args){
Sample k = new Sample("A");
System.out.println(k);
k=stuff(k);
System.out.println(k);
}
public static Sample stuff(Sample k){
return new Sample("B");
}
}