packagesingle;publicclasssingle1{publicstaticStringname;privateintage;publicvoidsetAge(intage){this.age=age;}publicintgetAge(){returnage;}publicstaticsingle1s;privatesing...
package single;
public class single1 {
public static String name;
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public static single1 s;
private single1(){}
public static single1 getSingle1(){
s=new single1();
return s;
}
}
class test{
public static void main(String[] args){
String s;
single1 a=single1.getSingle1();
single1 a1=single1.getSingle1();
a.name="zhangsan";
a1.name="lisi";
a.setAge(20);
System.out.println("a.age="+a.getAge()+" a.s="+a.s.getAge()+" "+a.s.name);
a1.setAge(22);
System.out.println("a.age="+a.getAge()+" a.s="+a.s.getAge()+" "+a.s.name);
}
}
执行结果:
a.age=20 a.s=0 lisi
a.age=20 a.s=22 lisi
为什么a1.setAge(22);会影响到a的s成员却不会影响到a的age成员
展开