Java开发中遇到匿名内部类使用外部类变量的情况

本文介绍了在Java开发中遇到的一个问题,即匿名内部类使用外部类的非final变量导致错误。作者在尝试改进一个猜数字游戏时,发现每次猜对后无法重新生成随机数。经过研究和导师指导,了解到需要将变量声明为静态以在匿名内部类中使用,从而解决了问题。博客旨在记录这一学习经历。
摘要由CSDN通过智能技术生成

#博学谷IT学习技术支持#

目录

一、案例概述

二、问题描述

三、解决方案


一、案例概述

        在最近一周的学习中,学习涉及到了一个基础的案例。那便是用GUI做一个猜数字的界面并实现它的功能。这个案例的功能是比较容易实现的,就是搭建一个简易的界面:

        利用Random函数去生成一个1-100之间的随机数,并且给“我猜”按钮添加事件监听器去实现猜数字的功能便算是玩成了。案例完成后,我也尝试着运行,没有发现什么问题,可以正常地进行游戏。当我第一次猜对这个数字后,我尝试再次输入该数字,却它的结果还是“猜对了”。

二、问题描述

 下面为原来部分代码:

//生成1-100之间的随机数
Random r = new Random();
int number = r.nextInt(100) + 1;
//给我猜按钮添加事件监听器
        guess.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值