如何从匿名类内部访问封闭类实例变量?

2023-12-25

我如何访问instance variables从匿名类的方法内部?

class Tester extends JFrame {

   private JButton button;
   private JLabel label;
   //..some more

   public Tester() {
        function(); // CALL FUNCTION
   }

   public void function() {
      Runnable r = new Runnable() {
         @Override
         public void run() {
            // How do I access button and label from here ?
         }
      };
      new Thread(r).start();
   }
}

您正在寻找的是完全合格的地址,因为它们没有被标记final

final Runnable r = new Runnable() {
public void run() {
    Tester.this.button // access what you need
    Tester.this.label  // access what you need
}};

您使用相同的访问模式Anonymous Inner Classes建造时ActionListeners以及其他事情。

这在规范中解释为15.8.4 限定此 http://docs.oracle.com/javase/specs/jls/se5.0/html/expressions.html#15.8.4,投反对票的人显然没有读过这些内容。并且也没有阅读理解代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从匿名类内部访问封闭类实例变量? 的相关文章

  • SLF4J - Logback:如何在运行时配置记录器?

    我们在项目中使用 LogBack 我想根据一些数据库值配置记录器 即如果某个数据库值设置为 true 则记录器应同时使用文件和数据库附加程序 如果为 false 则记录器必须仅使用数据库附加程序 我还想保留使用静态最终记录器 因此我不会在每
  • 在 Windows 7 中,不从命令行强制终止 JVM

    我在 JVM 中运行了 Cobertura 仪器化 jar 当我在运行应用程序的 Windows 控制台中按 Ctrl C 时 JVM 结束并Cobertura 结果已成功刷新到 cobertura ser 文件 但我需要使用命令 工具 不
  • 将json URL导入到java并使用jackson库解析它

    我正在尝试读取 java 中的 json 链接并解析它 以便我可以将它用于其他事务 但问题是我收到错误 我真的不知道该如何处理它们 这是代码 package weather data import weather data import c
  • 使用 Java NIO 直接访问 Windows 磁盘

    我正在使用一个使用 Java NIO 的库来直接将文件映射到内存 但我在直接读取磁盘时遇到问题 I can直接使用读取磁盘FileInputStream与 UNC 合作 例如 File disk new File PhysicalDrive
  • 在 Java 和 C 中在运行时调用名为“string”的方法

    我们如何调用名称为的方法string在运行时 谁能告诉我如何在 Java 和 C 中做到这一点 在java中可以通过反射api来完成 看一下Class getMethod String methodName Class parameterT
  • 将对象列表传递给 Freemarker 然后循环

    我已经熟悉了 FreeMarker 一个 Java 模板引擎 我已经能够通过哈希映射将对象传递给模板引擎了 这样就可以了 但是 一旦我尝试将任何类型的多个对象集传递给 FreeMarker 它就会给我一个 freemarker templa
  • Android 背景 + 文本 + 按钮图标

    我想要一个图像设置为文本的背景 并在文本的左侧设置一个图标 在iPhone中非常简单 但不知道如何在Android上做到这一点 调整按钮的大小并保持图标 文本的位置和距离正确 iPhone 安卓我有这个 xml代码是
  • 使用java在mysql中插入带有\\的文件路径

    我正在使用java制作一个独立的应用程序 并且我需要插入用户从文件选择器中选择的图像的路径 我正在获取文件的路径 但是当我将其存储在数据库 mysql 中时 它不会存储 所以当我检索该路径时 该文件不会显示 如何存储文件的路径 这样就可以使
  • SwingWorker 在 Unsafe.park() 处挂起

    我有一个SwingWorker与后台服务器通信 然后更新JFrame 我正在调试我的应用程序并注意到即使在SwingWorker完成了它的工作 它的线程仍然存在 它挂在Unsafe park java lang Object 这是一个本机方
  • Hibernate HQL 查询:如何将集合设置为查询的命名参数?

    给定以下 HQL 查询 FROM Foo WHERE Id id AND Bar IN barList I set id使用查询对象的setInteger 方法 我想设置 barList用一个List对象 但查看 Hibernate 文档和
  • Spring @Transactional 并发

    class MyService 公共无效a 同步 某个键 b Transactional 传播 传播 REQUIRES NEW 公共无效b 数据库工作吗 除非您使用代码编织 否则这是行不通的 Spring处理事务的默认方式是通过AOP代理
  • 内容安全策略:页面设置阻止自行加载资源?

    我有基于 Java 的 Web 应用程序运行在Tomcat http en wikipedia org wiki Apache Tomcat6 我的应用程序在本地主机和端口 9001 上运行 为了使我的应用程序更加安全并降低风险XSS ht
  • 使用 Spring 注入 Google Guava Hashmultimap

    是否可以提供一个创建示例Multimap
  • 摆动刷新周期

    我试图了解何时使用重新验证 重绘 打包 令人惊讶的是 我没有找到详细的底层文档 请随意链接 到目前为止我已经明白这都是 RepaintManager 的责任 油漆 重新油漆指的是脏 干净的东西 pack validate revalidat
  • 在 jFrame 中启用右键单击

    嘿 我正在寻找如何使用 NetBeans 在 jFrame 中启用 仅且仅 右键单击并显示弹出菜单 使用我的代码 private void formMouseClicked java awt event MouseEvent evt pop
  • 如何告诉 Java SAX 解析器忽略无效字符引用?

    当尝试使用字符引用解析不正确的 XML 时 例如 x1 Java 的 SAX 解析器因致命错误而惨死 例如 org xml sax SAXParseException Character reference x1 is an invalid
  • Hibernate3:自引用对象

    需要一些帮助来了解如何执行此操作 我将在文件系统上运行递归 查找 并且希望将信息保留在单个数据库表中 具有自引用的层次结构 这是我想要填充的数据库表结构 目录对象表 id int NOT NULL name varchar 255 NOT
  • 在 Java Jersey 2 JAX-RS 中初始化单例

    我是泽西岛 2 22 2 的新手 请耐心等待 我正在创建一个与 LDAP 服务器交互的 REST 服务 用于存储 删除和检索用户数据 该服务通过执行加密 解密充当安全中介 在使用 REST 服务之前必须进行相当多的初始化 并且我只想执行此初
  • 如何避免连续“重置偏移量”和“寻找最新偏移量”?

    我正在尝试遵循本指南 https spark apache org docs latest structed streaming kafka integration html https spark apache org docs late
  • 如何更改MultipartFile的originalFilename

    我在服务器端有一个 MultipartFile 文件 我想更改该文件的原始文件名 但该类仅支持 getOriginalFilename 谁能帮我这个 PS 上传的是图片文件 多谢 您可以使用 MockMultipartFile 类更改名称

随机推荐

  • AWS Beanstalk 在部署 Nodejs 应用程序时如何使用 NPM?

    我对 AWS Beanstalk 部署的整体工作流程感到好奇 我假设它在某个时刻运行 npm 来将软件包安装在服务器上 但我只是想知道 AWS Beanstalk 是否使用最新的 npm install product 命令来安装软件包 目
  • NAT 后面的 UDP 打洞

    我正在尝试用 Java 实现 UDP Holepunching 的简单草图来测试它的概念 并稍后在我的 C C 应用程序中使用它 Concept 根据维基百科 我对这个概念的理解是这样的 假设 A 和 B 是未定义网络结构后面的客户端 C
  • Firebase Angular 4基于节点环境初始化

    我已经使用 Angular CLI 构建了 Angular 4 项目 我正在 Heroku 上部署我的应用程序 我已经为开发和生产环境创建了 heroku 管道 我有两个 Firebase 数据库开发和生产 我希望我的 Angular 2
  • 从 JBoss EAP 6.1 中排除 JPA 子系统 - 尝试在 JBoss EAP 6.1 中使用 JPA 2.1

    我有一个 war 应用程序 其中包含使用 Spring 容器打包和引导的 JPA 2 1 API 和 Hibernate 4 3 0 Final JPA 2 1 实现 我想将其部署在 JBoss EAP 6 1 中 我知道 JBoss EA
  • 是否可以修改 Service Worker 缓存响应标头?

    我正在尝试标记存储在服务工作线程缓存中的资源 我认为可以向资源添加一个自定义标头来表明这一点 但是 一旦资源存储在服务工作线程缓存中 标头修改似乎就会被删除 是这样吗 我没有看到任何内容缓存规范 https www w3 org TR se
  • 再次显示相同的 AlertDialog

    我正在测试 AlertDialog 的行为以集成到更大的组件中 我无法再次显示相同的对话框 这是测试代码 public class MainActivity extends AppCompatActivity private AlertDi
  • 返回 id 并分割逗号分隔值的 SQL 语句

    我有一个包含以下数据的表 NodeId ExternalIds 50 601 56 700 701 如何编写分割ExternalIds列并返回的SQL语句 NodeId ExternalIds 50 601 56 700 56 701 我发
  • Google 日历活动的正确日期格式

    我正在尝试为 Google 日历创建活动 但收到此错误 Invalid value for T found can only parse bare date string 2013 08 22T16 00 00 我还尝试将时区偏移添加到我的
  • 在 WordPress 的父帖子页面上显示子帖子

    我们当前的网站使用带有父 子帖子的自定义帖子 查看 父 帖子时 会使用插件来拉取其子帖子 并将这些子帖子显示在页面上的选项卡中 我们现在在多个网站上使用该自定义主题的新版本 并且不再使用父 子关系 相反 我们在自定义帖子类型中有元框 所有附
  • 最佳且简单的数据结构

    我正在尝试在 vb net 中创建以下矩阵 以便在处理过程中我可以获得字母表的匹配分数 例如 A 和 N 的匹配是什么 我将查看我的内置矩阵并返回 2 同样 P 和 L 的匹配是什么 我将查看我的内置矩阵并返回 3 请建议我如何去做 我试图
  • 安装apk时不显示权限

    我正在使用 FlashBuilder 使用 ActionScript 制作 Android 应用程序 我需要为我的应用程序使用 WiFi 权限 该应用程序在桌面上运行没有任何问题 AIR 桌面项目 现在 当我尝试为 Android 移动项目
  • Facebook python 营销 API AttributeError

    我正在尝试通过其 python 包 facebookapi 使用 Facebook Marketing API 这是一个代码片段 from facebookads adobjects customaudience import Custom
  • Google Classroom API 修改附件

    当执行courses courseWork studentSubmissions modifyAttachments方法 当我尝试将附件添加到学生提交的内容时 返回 403 错误 GoogleJsonResponseException co
  • ImageMagick:使用最大文件大小缩放 JPEG 图像

    我有一些 JPEG 图片 我想将它们缩小 另一个要求是文件大小不应大于 300kByte 这可能吗 请帮我举个例子 要将生成的图像限制为最大文件大小 可以使用命令行参数 define jpeg extent max value 像这样 co
  • 如何使用Ruby的self关键字

    据我了解self 它指的是该类的当前实例 无论如何 这不是始终的默认行为吗 例如 不是 self var one method args 相当于 var one method args 如果是的话有什么用self 有几个重要的用途 其中大部
  • Chrome 中的浏览器链接不刷新页面

    我正在关注this https learn microsoft com en us aspnet core client side using browserlink view aspnetcore 3 0用于启用浏览器链接并设置新 Bla
  • 从 Tkinter 或 PWM 接口打印

    我在 Python Mega Widgets 和 Tkinter 中创建了一个接口 它是 SQlite3 数据库的接口 查询结果以列表形式返回并显示在位于显示屏主框架上的备注字段中 我可以创建一个将从按钮启动的小功能吗 从默认打印机打印备注
  • 如何修复此错误 [Vue warn]:未知的自定义元素:使用 Jest 进行单元测试中的

    我在运行 npm run 测试时遇到问题 错误是 Vue warn Unknown custom element
  • 如何修复分布式事务管理器(MSDTC)已被禁用错误[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们正在使用 ASP NET 的事务范围功能来管理分布式事务 因此我们需要通过以下链接启用分布式事务 合作伙伴事务管理器已禁用对远程 网络事务的支持
  • 如何从匿名类内部访问封闭类实例变量?

    我如何访问instance variables从匿名类的方法内部 class Tester extends JFrame private JButton button private JLabel label some more publi