java 创建对象问题

classXc9implementsRunnable{publicstaticintchepiao=100;Stringaa=newString("1");//字符串随意... class Xc9 implements Runnable
{
public static int chepiao = 100;
String aa = new String("1"); //字符串随意定义,定义在函数上边

//synchronized 的作用是,让它所管辖的代码部分,要么全部执行完,要么全部不执行
public void run() //synchronized修饰函数不需要字符串,相当于默认是this
{
while (true)
{
synchronized (aa) //既可以修饰代码块,又可以修饰函数
{
if (chepiao > 0)
{
System.out.println("第"+Thread.currentThread().getName()+"个车站正在卖第"+(101-chepiao)+"张车票");
--chepiao;
}
else
{
break;
}
}
}
}
}

public class L6_9
{
public static void main(String[] args)
{
Xc9 xc9=new Xc9();
Thread ee = new Thread(xc9);
ee.start();

Thread ff = new Thread(xc9);
ff.start();
}
}
----------------------------------------------------

为什么用下面这个会不能实现想要的结果?
Xc9 xc91=new Xc9();
Thread ee=new Thread(xc91);
ee.start();
Xc9 xc92=new Xc9();
Thread ff=new Thread(xc92);
ff.start();
}
展开
 我来答
百度网友090def6
2014-04-18 · TA获得超过2211个赞
知道小有建树答主
回答量:558
采纳率:100%
帮助的人:731万
展开全部
String aa = new String("1");
是私有对象(不是private的意思)

Xc9 xc91=new Xc9();
Xc9 xc92=new Xc9();
你的aa相对于xc91、xc92私有
所以不是你要的效果

方法一:
把aa改成静态static对象

方法二:
只对一个Xc9多线程
Xc9 xc91=new Xc9();
Thread ee=new Thread(xc91);
ee.start();

Thread ff=new Thread(xc91);
ff.start();
百度网友689b905
2014-04-18 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:125万
展开全部
问题是:你想要什么样的结果?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式