【发布时间】:2014-07-23 17:03:06
【问题描述】:
Java 帮助我们使用创建匿名对象
new class_name();
声明并使用关联(。)运算符调用方法
new Emp().input();
如何使用它同时从匿名对象调用两个方法,例如同时调用 input() 和 show()?
【问题讨论】:
-
你不能。因为对象没有被引用,一旦方法返回,基本上就丢失了。有些api使用了fluent interface模式,但还是比较少见的。
-
您需要致电
Emp e = new Emp(); e.input(); e.show();。为什么这不是一个可接受的解决方案,顺便说一句? -
@njzk2 如果您将其分配给名称,则不是真正的
anonymous;) -
@aruisdante:完全正确。我的评论应该改写:
why do you need the object to be anonymous? -
作为一般建议,我会告诫不要试图让您的代码过于简洁。流畅的模式很好,但另一方面,把它写成三行也是如此。有些台词同时做了无数的事情,我看过并想,“如果我们把它们分开会更易读”——但我看到的情况非常 3 或 4 行,然后想,“如果我们将它们压缩成一行,这将更具可读性。”
标签: java