这个Java程序的运行结果是几?为什么?

 我来答
王焕君007
2015-06-13
知道答主
回答量:10
采纳率:0%
帮助的人:5.1万
展开全部
同学 这个代码有错误 main方法 是静态的 它不能使用 非静态的内部类 如果想使用的话 把apple类定义为静态的吧
追问
那结果是多少?
追答

这么给你说吧   

  1. 你把apple定义为静态的内部类  

  2. 在main函数中就可以直接由外部类定义了  (因为你的main是静态的  所以只能即那个apple定义为静态的 这个你不要有疑问   一般情况下apple可以定义为非静态的)

  3. 你可能疑问  为什么输出的x值还为 构造函数中的值  我告诉你   这个值其实已经+1了  但是线程的执行的是需要准备时间的   这个时候你的主线程(也就是你的主函数已经执行了System.out.println(a.x))而咱们的线程  还没执行到x=x+1呢   所以输出的值没有改变

    其实已经改变了   这个你不用疑问

  4. 如果想验证的话  可以晚些输出这个值   比如在a.start 和System.out.println(a.x)之间加一个循环  最好多循环点   就有可能出现你要的结果   但是也不一定哦   因为不知道  具体这个线程准备的时间是否大于 你循环的执行的时间

  5. 如果有疑问  欢迎再提问

有车2015
2015-06-13 · TA获得超过893个赞
知道小有建树答主
回答量:684
采纳率:0%
帮助的人:351万
展开全部
你的程序报错的,不会编译成功。定义了2个同名变量a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式