【问题标题】:return value of a method(java)方法的返回值(java)
【发布时间】:2021-05-10 17:53:15
【问题描述】:

我的问题是关于方法的返回值。在返回值1的method1中,当我在method2中调用它时,它不会要求我将其值放入变量中。为什么会这样?方法返回的值不应该保存在变量内吗?现在 method1 返回值 1,这个 1 也没有存储在变量中。现在这不是 method2 中的声明。

public int method1(){
    return 1;
}

public  void method2(){
    method1();//Shouldn't it be like int value=method1();?
}

【问题讨论】:

    标签: java variables methods return return-value


    【解决方案1】:

    return type 定义和约束从method 返回的值的数据类型。

    public int method1(){
        return 1;
    }
    

    这里,1 不像我们在变量中存储值那样存储。那么它是如何工作的呢?
    "Java 虚拟机 (JVM) 是一个程序或软件,它采用 Java bytecode.class 文件)并将bytecode(逐行)转换为机器可以理解的代码。"

    无论何时使用,System.out.println(1); 都以相同的方式工作。该类被转换为字节码,然后转换为机器语言。

    public  void method2(){
        get();
    }
    

    这个method2() 也以同样的方式工作,但有get() nested 方法。请记住,method2() 没有任何 return type 并且来自 get() 方法的值丢失了。

    【讨论】:

      【解决方案2】:

      “输入”一个值只是将一些东西分配给一个变量。编译器不会要求您存储变量。每个函数都有一个分配的内存来存储它的返回值。函数完成后,它将您返回的值存储在该分配的位置。然后它的工作就完成了。如何处理它取决于您。

      【讨论】:

        【解决方案3】:

        method1 是一个函数,method2 是一个方法。 函数可以返回值。可以将值分配给变量以供存储和将来使用。但函数计算和赋值是不同的操作,不一定粘在一起。在您的情况下不会出现编译错误,但从get() 返回的值会丢失。

        【讨论】:

        • 它们都是方法。
        • @NomadMaker,同意,我的意思是“返回无效”中的“方法”
        • 但是method1()也是一种方法。
        猜你喜欢
        • 2012-12-18
        • 2013-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-20
        • 2017-08-30
        • 1970-01-01
        • 2023-03-09
        相关资源
        最近更新 更多