线程里面修改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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)