簡體   English   中英

為什么必須在Java中指定方法返回類型?

[英]Why do you have to specify method return type in Java?

有時我看到這樣聲明的方法:

public MethodName() { ... }

其他時候,我看到用類聲明的方法定義了它們正在返回的類型(?)。 例如:

public ClassName methodName() { ... }

這有什么意義呢? 為什么必須指定返回類型?

是的,您始終必須指定方法返回類型。 這樣做的原因是因為Java是強類型和靜態類型的 ,這意味着編譯器必須在編譯時知道所有表達式的類型。

您看到的看起來像沒有返回類型的方法實際上是該類的構造函數 ,使用它您可以創建該類的實例。

當您有一個構造函數時,它沒有返回類型,從技術上說,簽名是<init>(Lpackage.Type;)V ,其中V表示void 它不返回該類型的對象,而是接收該類型的對象並將其初始化。


在JVM級別,返回類型是簽名的一部分。 如果您使用類似的方法編譯程序,請考慮使用此方法

public static long zero() { return 0; }

但是您稍后會重新編譯此方法,但不會重新編譯調用它的方法。

public static int zero() { return 0; }

使用舊代碼編譯的方法將無法找到針對其編譯的方法。 這是因為這些方法是在假定返回long下編譯的,而它們甚至可能在返回int情況下也無法編譯。

暫無
暫無

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

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