线程里面修改bean的属性,外面bean的属性也对应改变
外面修改bean的属性,线程里面的bean的属性也对应改变
其他的String,int之类的,里面外面的修改,互不受影响
但是,如果bean=null,或者bean = new bean()
里面加上,不影响外面,属性也不影响
外面加上,不影响里面,属性也不影响
String aaa = "11111111";
int bbb= 1111;
Robot ccc= new Robot();
gggg.setRobname("111111111");
Thread dthread = new Thread(new aaaaa(aaa,bbb,ccc));
dthread.start();
System.out.println("最后的aaa---"+aaa);
System.out.println("最后的bbb---"+bbb);
System.out.println("最后的ccc---"+ccc.getRobname());
public void run() {
try {
aaa= "99999";
bbb= 999999;
ccc= null;//改为null不影响外面,外面改同样不影响这里
System.out.println("里面后aaa的值---"+aaa);
System.out.println("里面后bbb的值---"+bbb);
} catch (Exception e) {
e.printStackTrace();
}
}
结果如下
里面后aaa的值---99999
里面后asas的值---999999
最后的aaa---11111111
最后的bbb---1111
最后的ccc---111111111
但是如果
public void run() {
try {
aaa= "99999";
bbb= 999999;
ccc.setRobname("999999");
System.out.println("里面后aaa的值---"+aaa);
System.out.println("里面后bbb的值---"+bbb);
System.out.println("里面后ccc的值---"+gggg.getRobname());
} catch (Exception e) {
e.printStackTrace();
}
}
结果如下
里面后aaa的值---99999
里面后bbb的值---999999
里面后ccc的值---999999
最后的aaa---11111111
最后的bbb---1111
最后的ccc---999999