【问题标题】:Java method call return [closed]Java方法调用返回[关闭]
【发布时间】:2015-08-22 12:36:09
【问题描述】:

伙计们。 我正在尝试捕获或“捕获”从 java 方法调用返回的返回值。

例如: A 类有一个返回 int 值的方法。 B 类调用该特定方法(来自 A 类)并希望捕获方法调用的结果。

我该怎么做呢? 任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • 这肯定可以通过任何介绍性 Java 教程得到最好的回答,不是吗?
  • 你是这个意思吗?
    1/ 从类 A 静态定义方法,然后将方法调用分配给一个整数变量,例如 `class B{ //////code A.a() //////code } ` 2 / 从类 A 定义方法 void 然后将方法调用分配给一个整数变量,例如 `class B{ ///////code A obj=new A(); obj.a(); ///////代码}`
  • @NathanFox 您觉得这些答案有帮助吗?如果是这样,请单击旁边的复选标记接受一个。否则,请告诉我们您还需要什么帮助。
  • @DizzyCode - 在尝试声明代表之前,我建议您努力让您的示例正确。
  • @HotLicks 我只是通知 OP 这个函数,因为他可能是 SO 新手。无论如何,你能告诉我我的答案仍然不正确吗?非常感谢您的反馈。

标签: java methods call


【解决方案1】:
class A {
  public int someMethod() {
    return 1;
  }
}

class B {
  public void testMethod() {
    A a = new A();
    int value = a.someMethod();
  }
}

【讨论】:

    【解决方案2】:

    您可以通过设置一个等于方法返回的 int 值的变量来做到这一点。假设您在ClassA 中有methodA()

    public int methodA() {
        return 0;
    }
    

    ClassB 中,您首先需要创建ClassA 的实例。当您调用该方法时,设置另一个变量,在本例中为returnedValue(),等于它。这允许您重用该值而无需再次调用该方法。

    ClassA objectOfA = new ClassA(); //instantiation
    int returnedValue = objectOfA.methodA(); //returnedValue = 0
    

    【讨论】:

    • 你怎么能用类名调用methodA()而不使它成为静态的?
    • 感谢您的编辑!我也改进了解释。
    • 如果方法是静态的,为什么需要ClassA的实例?如果方法不是静态的,则只需要 ClassA 的实例。
    猜你喜欢
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2017-10-02
    • 2014-01-30
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    相关资源
    最近更新 更多