簡體   English   中英

“public static void”在Java中意味着什么?

[英]What does 'public static void' mean in Java?

public static void在Java中意味着什么?

我正在學習。 在本書的所有示例中,我正在使用public static void在任何正在使用或創建的方法之前。 這是什么意思?

這是完全不同的三件事:

public表示該方法可見,可以從其他類型的其他對象調用。 其他替代方案是privateprotectedpackagepackage-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.

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