簡體   English   中英

方法的返回值(java)

[英]return value of a method(java)

我的問題是關於方法的返回值。 在返回值 1 的method1中,當我在method2中調用它時,它不會要求我將其值放入變量中。 為什么會這樣? 方法返回的值不應該保存在變量內嗎? 現在method1返回值 1,這個 1 也沒有存儲在變量中。 現在這不是method2中的聲明。

public int method1(){
    return 1;
}

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

return type定義並約束從method返回的值的數據類型。

public int method1(){
    return 1;
}

在這里, 1不像我們在變量中存儲值那樣存儲。 那么它是如何工作的呢?
" Java Virtual Machine ( JVM ) is a program or software which takes Java bytecode ( .class files) and converts the bytecode (line by line) into machine understandable code. "

無論何時使用System.out.println(1); 它以相同的方式工作。 class 被轉換為字節碼,然后轉換為機器語言。

public  void method2(){
    get();
}

method2()也以相同的方式工作,但具有get() nested方法。 請記住, method2()沒有任何return type ,並且get()方法的值會丟失。

“放入”一個值只是將一些東西分配給一個變量。 編譯器不會要求您存儲變量。 每個 function 都有一個分配的 memory 來存儲它的返回值。 function 完成后,它將您返回的值存儲在該分配的位置。 然后它的工作就完成了。 如何處理它取決於您。

method1是一個function, method2是一個方法。 函數可以返回值。 可以將值分配給變量以供存儲和將來使用。 但是function計算和賦值是不同的操作,不一定粘在一起。 在您的情況下不會出現編譯錯誤,但從get()返回的值將丟失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM