为什么我们可以使用“this”作为实例方法参数?

2024-01-22

什么是接收器参数在爪哇? Java 8 语言规范谈论this.


JLS 给出a hint http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.1-220:

无论哪种方式,接收者参数的存在只是为了允许在源代码中表示所表示对象的类型,以便可以对类型进行注释。

这两种方法是等效的:

class Test {
    void m1() { }
    void m2(Test this) { }
}

但是后者允许您添加注释:

void m2(@MyAnnotation Test this) { }
//where MyAnnotation can be defined like this for example:
@Target(ElementType.TYPE_USE) @interface MyAnnotation {}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们可以使用“this”作为实例方法参数? 的相关文章

  • 如何在java中以编程方式访问网页

    有一个网页 我想从中检索某个字符串 为此 我需要登录 单击一些按钮 填充文本框 单击另一个按钮 然后就会出现字符串 我怎样才能编写一个java程序来自动执行此操作 是否有任何有用的库用于此目的 Thanks Try HtmlUnit htt
  • setSize() 不起作用?

    我有一个程序 需要两个按钮 一个是常规按钮 另一个具有根据鼠标悬停而变化的图片 目前 由于图片很大 JButton自定义也很大 我可以更改自定义的大小并保持图像 和翻转图像 成比例吗 我尝试过 setSize 但它没有任何作用 对于任何反馈
  • Eclipse 调试“未找到源”

    我刚刚开始使用 Eclipse 所以慢慢来吧 但是 当尝试调试 JUnit 测试用例时 我会收到一个对话框 指出当我在测试方法中的代码中找到此行时 未找到源代码 Assert assertEquals 1 contents size 我知道
  • Spring JSON序列化、Gson反序列化

    我目前在某些内部对象的反序列化方面遇到问题 在春天 我在使用输出之前初始化所有对象 ResponseBody 例如 这是一个响应 id 1 location id 1 extra location data id 2 location 1
  • 将 hyperjaxb3 升级到 jpa 2.1

    我正在尝试在使用 maven jpa hibernate 和 hyperjaxb 的 eclipse 项目中升级到 JPA 2 1 当我尝试执行以下操作时出现以下错误Run As Run on Server从日食内部 java lang N
  • 多个罐子、单个持久单元解决方案?

    包括我在内的一些人一直在努力将不同模块 jar 中的实体合并到单个持久性单元中 尤其是JavaSE 例如这里JPA 2 0 自动从不同的 jar 添加实体类到 PersistenceUnit https stackoverflow com
  • [重复]

    这个问题在这里已经有答案了 有什么区别List
  • 使用 Jquery Ajax 将数据从 jsp 发送到 struts2 操作类

    我需要使用 jquery Ajax 将表单数据从 jsp 传递到 struts2 并从 Struts2 操作类接收回 JSON 数据 我已经给出了下面的代码 当我传递 AJAX 数据时 url search action searchTex
  • Play Framework 2.5.1 路由和依赖项注入(适用于 Java)

    我的 路线 文件中有这个 POST accounts controllers AccountsController createOneAccount 在我的 AccoutsController java 中 package controll
  • 处理大数据表时应该如何使用Hibernate Mapping

    问题定义 我有一个包含大量数据 超过 100 000 行 的数据库表 表结构如下 AppID DocID DocStatus 1 100 0 1 101 1 2 200 0 2 300 1 每个 applicationID 可能有数千个文档
  • 如何制作一个向用户显示图像而不是文本的下拉列表?

    ObjectChoiceField 字段满足我的所有要求 但它并不漂亮 这就是我所拥有的 String pets Dog Cat Duck ObjectChoiceField dd new ObjectChoiceField My Pet
  • 更改 WireMock __files 目录

    来自docs http wiremock org docs stubbing 要从文件中读取正文内容 请将文件放在 files 下 目录 默认情况下 这应该位于 src test resources 下 从 JUnit 规则运行时 当独立运
  • 调整 Java 类以提高 CPU 缓存友好性

    在设计java类时 对于实现CPU缓存友好性有哪些建议 到目前为止我学到的是应该尽可能多地使用 POD 即 int 而不是整数 这样 在分配包含对象时 数据将被连续分配 例如 class Local private int data0 pr
  • 如何在 JUnit 中缩短(或隐藏)包名称?

    我在 JUnit 中有很长的包名称 这使得很难看到正在运行哪些测试 不幸的是 使用 Eclipse 的 缩写包名称 不起作用 有没有办法隐藏或者最好缩短它们 None
  • CTRL-C 在 Python 中的行为有所不同

    I ve recently started learning Python long time Java programmer here and currently in the process of writing some simple
  • 优化两个三位数乘积的最大回文数?

    我正在研究一个面试问题 我被问到这个问题 我应该编写一个程序 从两个三位数的乘积中找到最大的回文数 这里是question https projecteuler net problem 4 我想出了这种从底部开始的蛮力方法 public c
  • 为什么 writeObject 抛出 java.io.NotSerializedException 以及如何修复它?

    我有这个异常 我不明白为什么会抛出它 或者我应该如何处理它 try os writeObject element catch IOException e e printStackTrace Where element is a Transf
  • SSLHandShakeException 没有适当的协议

    我最近向我的网站添加了 SSL 可以通过 https 访问它 现在 当我的 java 应用程序尝试向我的网站发出请求并使用缓冲读取器从中读取时 它会生成此堆栈跟踪 我没有使用自签名证书 该证书来自 Namecheap 它使用 COMODO
  • startDrag 方法 已弃用且无法编译程序

    startDrag android content ClipData android view View DragShadowBuilder java lang Object int 已弃用 如何解决这个问题而又不失去对旧版本的兼容性 还有
  • 运行外部进程的非阻塞线程

    我创建了一个 Java GUI 应用程序 它充当许多低级外部进程的包装器 该实用程序按原样运行 但迫切需要一项重大改进 我希望我的外部进程以非阻塞方式运行 这将允许我并行服务其他请求 简而言之 我希望能够在生成数据时处理来自外部进程的数据

随机推荐

  • 如何通过ajax使用Materialize自动完成插件?

    我正在努力共同努力MaterializeCSS 自动完成插件 http materializecss com forms html autocomplete使用我的 ajax 调用 以便根据输入字段中键入的内容动态加载数据 我的 ajax
  • 如何在 NumericUpDown 中保留有效值而不是分配最大值?

    假设我有 NumericUpDownMaximum 99 and Minimum 99和初始值 23 如果用户将焦点设置到此控件并输入1 那将是123现在 它改变了它的价值99 我该如何保留23而不是将值更改为允许的最大值 我尝试捕获 Ke
  • 什么是缓动函数?

    动画上下文中的缓动功能是什么意思 看来dojo jquery silverlight flex等UI系统都有缓动功能的概念 我找不到缓动函数的良好解释 任何人都可以解释缓动函数的概念 或者对它们给出一个很好的解释 我对这个概念感兴趣 而不是
  • 如何将 android.support.v7.* (appcompat) 导入到 AIDE

    任何人都知道如何将 android 支持导入 AIDE 编译器应用程序 经过大量时间的搜索并在 Alan Downie 的帮助下 感谢你 这里是使用 AppCompatActivity 与支持库版本 27 的说明 使用最新的支持库非常重要
  • 如何在 php 中反转数组而不使用数组反转方法

    我想知道如何在不使用 array reverse 方法的情况下反转数组 我有一个名为反向数组的数组 这是我想要反转的数组 我的代码如下 有人可以指出我做错了什么 因为我在其他地方找不到任何以这种方式反转数组的示例 我的代码如下
  • C 中的字符串分割器 - 它是如何工作的?

    我继承了一个庞大的代码库 并且有一个实用函数可以分割字符串 字符 我了解大约 80 的运作方式 但我不明白 token 0 line 任何指点都将受到高度赞赏 include
  • tomcat websocket servlet监听端口

    我正在尝试编写一个使用的 servletorg apache catalina websocket WebSocketServlet 我找到了一个 websocket 聊天的示例 但我不知道如何指定 websocket 服务器的侦听端口 在
  • 如何隐藏 TVirtualStringTree 节点?

    如果我没记错的话 在一个节点中不可能有不可见的节点 TVirtualStringTree 树视图 因为没有启用 可见或其他 属性来这样做 我的说法正确吗 如果是 我如何设法拥有不可见的节点 我的树的结构 One Node Another n
  • Android:如何获取当前主题的资源ID?

    在 Android 中 您可以获取 Activity 的当前主题Resource Theme对象来自getTheme 另外 您可以通过其他主题的资源 ID 将主题设置为不同的主题 如下所示setTheme R style Theme MyT
  • 无法从tensorflow.keras.metrics导入指标

    我想编写一个我正在关注的自定义指标评估器这个链接 https www tensorflow org beta guide keras training and evaluation specifying a loss metrics and
  • Django runserver 在开发中不提供静态文件

    我正在使用 Djangorunserver为了我的发展 当我部署到生产服务器时 我可以看到所有静态文件 但看不到本地计算机上的文件 I did collectstatic我已经设置了DEBUG True 我在网上找到了很多不同的意见 其中最
  • mpi 中的 darray 和 subarray 有什么区别?

    我有一个用于并行编程类的并行 I O 项目 并且我必须实现派生数据类型 我不太清楚darray和subarray之间的区别 darray 是否可以从动态分配的数组派生 主要区别是什么 子数组可让您描述较大多维数组的单个块 切片 如果每个 M
  • 使用“Microsoft Print to PDF”和 Java 将文档转换为 PDF

    我目前正在 Microsoft Windows 主机上测试将 RTF DOC 文档转换为 PDF 我有一段使用 Microsoft Word API 的工作和平代码 但由于许可证成本 我想摆脱它 我的想法是 只需将 RTF 发送 到 Mic
  • 如何删除git中未暂存的更改[换行符差异]?

    这很令人沮丧 我根本找不到如何处理这个问题的正确答案 我正在执行变基操作 但这只是发生此问题的众多场景之一 并且我有大量 已更改但未更新 的文件 除了换行符之外没有任何区别 git diff b 什么也没有返回 现在我只想删除更改并将文件保
  • 异步瀑布相当于 Q

    我有一个页面 它是帐户设置页面 在其中 我允许我的用户更新他们的头像 如果他们附加了图像 更改他们的电子邮件 如果已更改为原始电子邮件 以及更改他们的名称和密码 现在 我正在使用异步waterfall方法 但我将 async 替换为 Q 因
  • 在 SciTE 中重新格式化 80 列中的文本(或者更好的是 LaTeX)

    我最近在 Lix 这样的所见即所得编辑器的帮助下开始研究 LaTeX 现在我开始在 Sci TE 中编写 tex 文件 它已经具有语法高亮显示 并且我调整了 tex properties 文件以在 Windows 中工作 显示 Go 上的预
  • Swift 类不可构造

    我正在按照 iBook 进行快速编程 但是当我尝试使用 var 构造一个类时出现错误 这是一个结构和一个类 struct Resolution var width 0 var height 0 class VideoMode var res
  • 将宽图的同一等级上的节点分布到不同的线上

    我有一个图表 组织图 digraph G nodesep 0 3 ranksep 0 2 margin 0 1 node shape rectangle edge arrowsize 0 8 1 gt 2 1 gt 3 1 gt 4 1 g
  • 检测到“时间戳”类型的对象与预期实例不匹配

    我想知道为什么 Timestamp 对象没有按我的预期工作 它在测试环境中工作 我使用Mocha 但在部署时抛出错误 index ts import Timestamp QuerySnapshot from google cloud fir
  • 为什么我们可以使用“this”作为实例方法参数?

    什么是接收器参数在爪哇 Java 8 语言规范谈论this JLS 给出a hint http docs oracle com javase specs jls se8 html jls 8 html jls 8 4 1 220 无论哪种方