[英]What does 'public static void' mean in Java?
public static void
在Java中意味着什么?
我正在學習。 在本書的所有示例中,我正在使用public static void
在任何正在使用或創建的方法之前。 這是什么意思?
這是完全不同的三件事:
public
表示該方法可見,可以從其他類型的其他對象調用。 其他替代方案是private
, protected
, package
和package-private
。 有關詳細信息,請參見此處
static
表示該方法與該類關聯,而不是該類的特定實例(對象)。 這意味着您可以在不創建類的對象的情況下調用靜態方法。
void
表示該方法沒有返回值。 如果方法返回一個int
你會寫int
而不是void
。
所有這三個的組合最常見於大多數教程將包括的main
方法。
這三個詞具有正交含義。
public
意味着該方法將在其他包中的類中可見。
static
表示該方法未附加到特定實例,並且沒有“ this
”。 它或多或少是一種功能。
void
是返回類型。 這意味着“此方法不返回任何內容”。
public關鍵字是一個訪問說明符,它允許程序員控制類成員的可見性。 當一個類成員以public開頭時,該成員可以被聲明它的類之外的代碼訪問。 (public的反面是private,它阻止成員被其類外部定義的代碼使用。)
在這種情況下, main( )
必須聲明為public,因為它必須在程序啟動時由其類之外的代碼調用。
關鍵字static允許調用main( )
而無需實例化類的特定實例。 這是必要的,因為在創建任何對象之前,Java解釋器會調用main( )
。
關鍵字void只告訴編譯器main( )
不返回值。 正如您將看到的,方法也可能返回值。
這意味着:
public
- 它可以從任何地方調用 static
- 它沒有任何對象狀態,因此您可以在不實例化對象的情況下調用它 void
- 它不會返回任何內容 你認為缺少回報意味着它沒有做太多,但它可能會在數據庫中保存一些東西,例如。
這意味着三件事。
第一個public
意味着任何其他對象都可以訪問它。
static
意味着它所在的類不必在調用函數之前先實例化。
void
表示函數不返回值。
因為你剛剛學習,所以在你學習類之前不要過多擔心前兩個,第三個在你開始編寫函數之前並不重要(除了main之外)。
我在學習編程時得到的最好的建議,我傳給你的是,不要擔心你不明白的細節。 全面了解基礎知識,然后回過頭來擔心細節問題。 原因是你必須在你的第一個程序中使用一些東西(比如public static void
),這些東西在沒有先教你一些其他東西的情況下也無法真正解釋。 因此,暫時接受這就是它的完成方式,並繼續前進。 你很快就能理解它們。
考慮到典型的頂級課程。 頂層只能使用public和no修飾符訪問修飾符,因此您可以看到公共或根本不會看到任何訪問修飾符。
使用`static``是因為你可能不需要在頂層創建一個實際的對象(但有時你會想要這樣你可能不會總是看到/使用靜態。還有其他原因你不會包含靜態這也是頂級的典型。)
void
是因為通常你不會從頂層(class)返回一個值。 (有時你會想要返回除NULL
以外的NULL
因此可能並不總是使用void,特別是在你聲明的情況下,初始化一個你正在分配一些值的頂級對象)。
免責聲明:我自己是新手,所以如果這個答案有任何不妥之處請不要掛我。 白天我是技術招聘人員而不是開發人員; 編碼是我的愛好。 此外,我總是樂於接受建設性的批評和喜歡學習,所以請隨時指出任何錯誤。
Public
- 表示類(程序)可供任何其他類使用。
Static
- 創建一個類。 也可以應用於變量和方法,使它們成為類方法/變量,而不僅僅是本地特定類的實例。
Void
- 這意味着當類完成處理時不會返回任何產品。 將此與為主類提供返回值的輔助類進行比較,這些操作類似於函數; 這些在聲明中沒有空白。
public
表示您可以從類/對象中的任何位置或包或類外部訪問該類 static
表示只使用一次語句塊的常量 void
表示沒有返回類型 static
表示該方法與該類關聯,而不是該類的特定實例(對象)。 這意味着您可以在不創建類的對象的情況下調用靜態方法。 由於使用的static
關鍵詞main()
是你的第一個被調用的方法.. static
不需要任何對象實例......所以, main( )
是由Java解釋器稱為由任何對象之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.