【问题标题】:Calling return methods from within a different method's parameters从不同方法的参数中调用返回方法
【发布时间】:2011-04-15 07:46:29
【问题描述】:

有谁知道这方面的官方说法是什么?这是一个例子:

public void makeStuff(int total) {
    //method logic

现在让我这样称呼这个方法:

new Thing().makeStuff(new OtherClass().getTotal); 
//OtherClass holds the int total that is returned

这是一种糟糕的编程风格吗?让我们假设标准方式不是一种选择。 (即 new Thing().makeStuff(7));

提前谢谢大家。 马特

【问题讨论】:

  • 看起来非常好,只是代码的可读性受到了一点影响。
  • 看不出有什么问题...

标签: java variables methods standards


【解决方案1】:

如果你不打算保留对类的任何引用,那么为什么不使用静态方法呢?

public static void makeStuff(int total) {
//method logic

并且在您的其他类中,总数将始终相同 - 因为它没有机会被设置,除非 getTotal 应该是一个方法调用 (getTotal()),在这种情况下,它也可能是一个静态调用即

Thing.makeStuff(OtherClass.getTotal()); 

【讨论】:

  • 我同意...但是,我必须将其保留为实例变量,因为我不会给每个人带来麻烦。不过,谢谢您的意见。看起来这个想法是用这种方式初始化参数很好。
【解决方案2】:

我不会创建这样的对象来获取一个值,也不会调用字段getTotal

你可能会这样做

new Thing().makeStuff(new OtherClass().total); 

new Thing().makeStuff(new OtherClass().getTotal()); 

new Thing().makeStuff(OtherClass.getTotal()); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多