Java 新手需要帮助找到有关“new classname().withXxx(param)”的进一步阅读。和 ClassName.class.method 语法

发布于 2024-11-09 14:27:47 字数 484 浏览 0 评论 0原文

一直在用各种术语搜索 Google/stackoverflow,但它们都太宽泛,无法准确定位我要查找的内容。

我只是在查看一些 AWS API 代码,并想了解如何创建我自己的代码,我假设使用链接样式传递参数:

ListDomainsRequest sdbRequest = new ListDomainsRequest().withMaxNumberOfDomains(100);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

以及此处使用 class 关键字:

AwsConsoleApp.class.getResourceAsStream("AwsCredentials.properties")
              ^^^^^

什么这些技术的正确名称是什么?谢谢!

Been searching Google/stackoverflow with various terms but they all are way too broad to pinpoint what I'm trying to find.

I am just looking at some AWS API code and want to read up on how to create my own code like this, which, I'm assuming is passing parameters using a chaining style:

ListDomainsRequest sdbRequest = new ListDomainsRequest().withMaxNumberOfDomains(100);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

as well as the use of the class keyword herein:

AwsConsoleApp.class.getResourceAsStream("AwsCredentials.properties")
              ^^^^^

What are the proper names for these techniques? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

⊕婉儿 2024-11-16 14:27:47

我认为您指的是Fluent Interface。一个快速的维基片段是......

流畅的接口通常是通过使用方法链来中继后续调用的指令上下文来实现的

这里还有一个Adewale Oshineye 写的一篇不错的博文,也给出了关于该主题的一些一般性想法。

[更新]我刚刚意识到你关于课程的问题与第一个问题是分开的。为此,您只需要认识到 .class 是访问对象的 java.lang.Class 类型的一种方法,这在某些情况下很有用。

I think what you are referring to is the Fluent Interface. A quick wiki snip is...

A fluent interface is normally implemented by using method chaining to relay the instruction context of a subsequent call

Here is also a nice blog post by Adewale Oshineye giving some general thoughts on the subject as well.

[update] I just realized you question about class is separate from the first. For that you just need to realize that .class is a way to access the object's java.lang.Class type which is useful in certain cases.

忘你却要生生世世 2024-11-16 14:27:47

第二个通常称为类文字,它只是由编译器处理的 Java 语言的一项功能。它最终被转换为对 Class.forName() 的缓存调用。

第一个只是方法链;这个想法是,任何返回它所调用的对象的方法都可以通过这种方式无限地链接在一起。有些人喜欢它,有些人则认为这是令人厌恶的。随着时间的推移,可憎的队伍变得越来越小。

The second one is usually called a class literal, and it's just a feature of the Java language handled by the compiler. It ends up getting translated into a cached call to Class.forName().

The first one is just method chaining; the idea is that any method that returns the object it was called on can be chained together infinitely this way. Some people like it, some people think it's an abomination. The abomination contingent has gotten smaller over time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文