java中“限定this”构造是什么意思?

2024-03-28

In 在“第 22 项:优先考虑静态成员类而不是非静态成员类”项目中,Josh Bloch 说:

非静态成员类的每个实例都隐式关联到一个 其包含类的封闭实例。在非静态的实例方法内 成员类,您可以调用封闭实例上的方法或获取引用 使用限定的 this 构造到封闭实例。

他说的是什么意思合格此构造?


在没有资格赛的情况下,x()会递归。通过限定符,封闭实例的x()方法被调用。

class Envelope {
  void x() {
    System.out.println("Hello");
  }
  class Enclosure {
    void x() {
      Envelope.this.x(); /* Qualified*/
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中“限定this”构造是什么意思? 的相关文章

随机推荐

  • 在 Chapel 中使用矩阵创建域

    我有一个域名D 我想用它来索引几个矩阵A 某种形式的东西 var dom domain 1 0 5 var mats dom
  • 如何获取 PromptDialog.Choice 功能并仍然允许 Bot Framework 中的其他用户响应?

    Bot Framework 中的 PromptDialog Choice 提供了许多运行良好的内置功能 但是 我希望能够拦截 覆盖匹配过程 获得 PromptDialog Choice 功能并且还能够接受某些可能不匹配的字符串的最佳方法是什
  • 卡西尼号源代码下载链接?

    有谁知道哪里可以下载卡西尼号的源代码吗 我尝试了链接http www asp net Projects Cassini Download http www asp net Projects Cassini Download但该页面现在不存在
  • 如何从“struct linux_binprm”获取argv

    我想使用 bprm check security lsm 挂钩来检查是否允许运行具有特定参数的进程 在文档中 我看到 argv 应该在 bprm 类型为 struct linux binprm 中可用 但我没有找到任何从结构中提取 argv
  • 需要VC6平台SDK

    有谁知道我可以在哪里下载最后一个与 VC6 一起使用的 Platform SDK 我通过谷歌搜索找到的链接似乎都已失效 我设法在这里找到它 官方或非官方 http docs moodle org dev FebruaryPlatformSD
  • Gradle 日志在哪里?

    Android Studio 中应用程序的 Gradle 构建会生成以下错误 Error Execution failed for task app compileDebugJavaWithJavac gt java lang Runtim
  • 计算所有结构不同的二叉树的数量的时间复杂度是多少?

    使用此处介绍的方法 http cslibrary stanford edu 110 BinaryTrees html java http cslibrary stanford edu 110 BinaryTrees html java 12
  • 变量列表中的逗号是序列点吗?

    在以下类型的代码中 每个变量构造之间是否存在序列点 或者结果未定义 int a 0 int b a c a 我无法在标准中找到对此处序列点的具体引用 这是否意味着它未定义 或者只是我的搜索失败了 表达式的完成是一个序列点 但是上面的初始化也
  • 在 R 中为 pentium 4 HT 机器使用多核

    我在办公室使用Pentium 4 HT机器来运行R 一些代码需要plyr包 我通常需要等待6 7分钟才能完成脚本运行 而我看到我的处理器只使用了一半 我听说在 R 中使用多核包可以更好地利用多核处理器 我的情况适合吗 Thanks 有很多软
  • PyInstaller 2.1导入自定义包

    我有一个脚本正在尝试使用 Python 2 7 使用 PyInstaller 2 1 进行编译 该脚本使用我编写的名为 auto common 的自定义包 在脚本中 我使用以下命令导入它 sys path append path to pa
  • 如何在 Jupyter 中插入文字选项卡而不是自动完成?

    缩进整行很容易 Just highlight the whole line and press Tab Go to the start of the line and press Tab Click anywhere in the line
  • 如何获取枚举数

    如何获取枚举数 我有一个枚举 typedef enum DEL TIME VALUE 1 DEL TIMESEC VALUE 100 DEL TIMEMIN VALUE 200 DEL TIMEHOUR VALUE 300 DEL DAY
  • 用正则表达式获取最终的特殊字符

    我想要一个正则表达式 将字符串末尾的一些特殊字符分组 特殊字符是 和空格 例如 如果我有字符串 test 我想在组中获取字符串 我创建了以下正则表达式 问题是它给了我以下字符串 为什么要提取最后的括号 Put the 字符类中第一个或最后一
  • 循环选择某列并单独保存

    我的数据框是 c1 c2 c3 c100 0 2 0 4 0 9 0 0 2 0 3 0 1 0 1 0 6 1 0 3 我想选择c1 c2和c3 c1 c2和c4 类似的c1 c2和c100 每 3 个选定的列应保存在单独的文件中 我该怎
  • XNA 屏幕截图显示预绽放,而不是最终渲染

    我有一个使用 Reach 图形设置在 C XNA 4 0 中编码的 Windows 平台游戏 我的项目基于 GameStateManagement 示例 但后来我向其中添加了 Bloom 和 spriteSheet spriteBatch
  • Java Web 应用程序作为桌面应用程序,我应该选择哪些框架?

    我需要制作一个网络应用程序 我可以将其作为桌面应用程序安装在客户端 PC 上 数据库 jetty war firefox chrome sth 便携式 该应用程序是一个相当大的搜索应用程序 我必须使用 Lucene 只有几个屏幕 搜索队列中
  • 如何获得 makefile 函数来停止当前目标?

    我在 makefile 中有一个函数 如果文件不存在 或者至少是执行它的目标不存在 我想停止整个 make 运行 vaultfile vault shell test f 1 exit 1 define get token shell te
  • Fullcalendar 在事件点击时获取资源 ID

    我正在使用全日历 一切工作正常 但在事件单击时未获取 Resourceid 这是我的代码 var date new Date var d date getDate 1 var m date getMonth var y date getFu
  • 在 Openshift 中哪里可以查看控制台日志?

    最近 我将 JSP 项目部署到 Openshift 服务器中 现在我的愿望是查看控制台日志 假设 如果我打印System out println Message 在我的 JSP 项目中 如何看到该消息打印到 Openshift 服务器的控制
  • java中“限定this”构造是什么意思?

    In 在 第 22 项 优先考虑静态成员类而不是非静态成员类 项目中 Josh Bloch 说 非静态成员类的每个实例都隐式关联到一个 其包含类的封闭实例 在非静态的实例方法内 成员类 您可以调用封闭实例上的方法或获取引用 使用限定的 th