Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
方法调用作为Java中另一个方法的参数_Java_Methods_Nested - Fatal编程技术网

方法调用作为Java中另一个方法的参数

方法调用作为Java中另一个方法的参数,java,methods,nested,Java,Methods,Nested,所以我需要做一个任务,在这个任务中,我遵循JUnit测试文件来创建我所需要的所有代码(几乎像一个设计文档),基本上是对一台自动售货机进行编码,在测试文件中,这里有这个代码 assertThat(snackMachine.chewingGums().quantity()).isEqualTo(DEFAULT_QUANTITY - 1); assertThat(snackMachine.chips().quantity()).isEqualTo(DEFAULT_QUANTITY - 1); asse

所以我需要做一个任务,在这个任务中,我遵循JUnit测试文件来创建我所需要的所有代码(几乎像一个设计文档),基本上是对一台自动售货机进行编码,在测试文件中,这里有这个代码

assertThat(snackMachine.chewingGums().quantity()).isEqualTo(DEFAULT_QUANTITY - 1);
assertThat(snackMachine.chips().quantity()).isEqualTo(DEFAULT_QUANTITY - 1);
assertThat(snackMachine.chocolates().quantity()).isEqualTo(DEFAULT_QUANTITY - 1);

我挠头,看着这个,一个类中的一个方法怎么可能也有一个方法,所以chewingGums()中有quantity(),这在java中是可能的吗?因为我已经看了很多遍,我还没有看到实现它的方法,如图所示。

咀嚼口香糖
返回具有
数量
方法的对象

chewingGums().quantity()
就跟

Gum gum = chewingGums();
gum.quantity();
其中
Gum
chewingGums
返回的类型

它类似于这一行:

new Scanner().nextInt();

newscanner()
计算为
Scanner
对象,然后对该对象调用
nextInt
。这不是一个很好的例子,因为
Scanner
是一个构造函数,但它是我能想到的最简单的方法链接例子

你说的“里面也有方法”是什么意思
snackMachine.chewingGums()
返回具有
quantity
方法的内容。我认为值得一提的是,它可能返回某种功能接口实现(类似于
消费者
)使用名为
quantity
@it'sBritneyB的抽象方法,我认为这会使事情复杂化。咀嚼口香糖
返回的任何对象都将具有
数量
方法。如果该方法来自一个接口或一个具体的实现,它不会有太大的变化
public BigDecimal chewingGums(){public BigDecimal quantity(){}}
@3Marporoof No。。。
churinggum()
方法返回某种类型的实例,该实例的方法名为
quantity()
@3marproof No,除非
churinggums
返回它所在类的实例。第二,我来看看是否能想出一个简单的比较好的例子。