假设有如下语句:
定义类:
class Info
{
private int a;
...
}
定义两个线程:
class Pro implements Runnable
{
private Info ii=null;
...
}
class Con implements Runnable
{
private Info ii=null;
...
}
测试程序main():
{
...
Info i = new Info();
Pro pro = new Pro(i);
Con con = new Con(i);
new Thread(pro).start();
new Thread(con).start();
...
}
想问一下:有线程实例化的对象pro和con中他们的属性:(Info ii)共享吗?
------解决方案--------------------
如果Pro和Con对应的构造函数是将i对象传给他们内部的ii对象的话,那么pro和con两个对象里的ii都是指向i,也就是说他们是一样的。
如果你认为他们一样就是“共享”的话,那么(Info ii)共享
------解决方案--------------------
嗯,是这样理解的~