随手笔记,线程内外的参数更改变化

随手笔记,线程内外的参数更改变化,第1张

随手笔记,线程内外的参数更改变化

线程里面修改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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5709769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存