在java中public void與public static void有什么區別 ?


public void 修飾是非靜態方法,該類方法屬於對象,在對象初始化(new Object())后才能被調用;
public static void 修飾是靜態方法,屬於,使用類名.方法名直接調用。

正如答主 @小透明 所說,非靜態方法之間可以互相調用,非靜態方法也可以調用靜態方法;但是靜態方法不可以直接調用(未初始化的)非靜態方法。由於 public static void main 作靜態方法,所以遵循這個原則。

但是 Java 可以通過對象名調用靜態方法(對象名.靜態方法)。Java 中不會導致語法錯誤(syntax error),但是不推薦這樣使用,靜態方法與非靜態方法調用時應當絕對區分;而且其他 OOP 語言如 C#,Swift,Objective-C 都沒有這樣的語法。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM