Java中,在匿名类中改变了的静态变量,除了匿名类为什么是改变前的值?

publicclass计算器{staticintnum1_1;staticintnum2_2;staticJTextFieldtext1;staticJTextField... public class 计算器 {
static int num1_1;
static int num2_2;
static JTextField text1;
static JTextField text2;
text2.addActionListener(new ActionListener(){
num1_1=2;
});
System.out.printfln(num1_1);
结果是0
怎样让结果是2呢
展开
 我来答
mikemelon2012
2014-12-15 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:397万
展开全部
你是加在addActionListener里的,也就是只有发生这个action时才会执行里面的 num1_1=2;代码。
你直接打印出来当然是0了。

对于JTextField来说,其action发生时,比如你在文本框里单击或输入什么内容时,才会执行动作。
落叶l无情
2014-12-15 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1431万
展开全部
除了mikemelon2012 说的 必须发生action时才会执行num1_1=2,还有你是在计算器这个class外面输出num1_1,这样有问题,num1_1是局部静态变量,只能作用在计算器class内部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-15
展开全部
num1_1是静态变量,默认初始化为0

在你的方法里,想设置为2,但是没有调用方法,怎么可能会变成2呢。
new一个计算器对象,调用这个方法。具体到你这个代码里,你这是图形编程么,添加了事件监听器,点击那个按钮就ok了吧。

你的命名有问题哦,class名怎么是中文的呢,还是按标准命名习惯来吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式