gpt4 book ai didi

java - 嵌套方法调用的工作原理

转载 作者:行者123 更新时间:2023-11-29 07:55:44 27 4
gpt4 key购买 nike

谁能解释一下这行代码是如何工作的:

有理数 = a.add(b).add(c);

我不明白对象 b(它是一个参数)是如何接收方法的?

最佳答案

这叫做 method chaining . add() 方法实际上返回当前修改对象的引用或调用该方法的相同类型的新对象。假设 a 引用的对象是 BigInteger , 当你调用 a.add(b) ,它返回一个值为 a+bBigInteger 对象,因此您可以再次对该对象调用 .add(c)

 Rational sum = a.add(b).add(c);
// is equivalent to
Rational temp = a.add(b);
Rational sum = temp.add(c);

不需要方法链接。它只会潜在地提高可读性并减少源代码的数量。这是构建 fluent interface 背后的核心概念.

示例图:

enter image description here

这种做法主要用于 Builder pattern ,您可以在 API 本身的 StringBuilder 中找到此模式类。

I don't understand how object b (which is an argument) is receiving a method?

不,你的理解是错误的,a.add(b) 意味着你正在调用对象 a 上的方法 add() 并传递它对象 b 的引用。方法 a.add(b) 返回的结果对象与 a 的类型相同,然后连续调用方法 .add(c ) 在返回的对象上将对象 c 的引用传递给该方法。

关于java - 嵌套方法调用的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898127/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com