[爆卦]java呼叫main是什麼?優點缺點精華區懶人包

為什麼這篇java呼叫main鄉民發文收入到精華區:因為在java呼叫main這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者PsMonkey (痞子軍團團長)看板java標題Re: [問題] public static ...


※ 引述《linbanden (冷板凳)》之銘言:
: 最近在研究JAVA,,目前剛剛學到物件導向,
: 發現每一個CLASS裡面幾乎都會加上
: public static void main(String[] args)
: 只有翻到會面的章節才不會有這一句
: 我知道 public: 宣告一個公開的類別
: static: 我不知道幹嘛的= =
: void : 執行main()後不會回傳任何數值,但我不知道main()是蝦米= ="
: String: 一個字串,後面[]代表是 陣列?? 很模糊
: args : 書上說,可以在執行程式時,取得只用者指定的命令列引數
: 希望大大可以告訴我OR給我網址,讓我學習
: 還是說學完整個物件導向自然就懂了!??!
: 謝謝

我覺得比較像是「懂了」才算學完物件導向
(所以... 我物件導向不太熟 [遮臉])


如果你能忘掉一切(啥?)
那麼,main() 就是 class 的一個 method

X! 這不是廢話嗎?

事實上很多時候很多人會忘記這個廢話
然後問「另外一個程式在某種狀況下去執行 java Foo,要怎麼作?」
當然繞出去要 OS 重新 Java 一個 Foo 也行
但是沒太特別需求的話,那直接在 Java 程式中呼叫 Foo.main() 也行

至於其他的,我想大概很難一個網址解決掉
因為一個 method 可以不是 public、不是 static、不是 void
更可以塞其他 type 的參數、或是根本不塞
甚至是...

class Foo{
public static void main(String[] args){
}
public static void main(String arg){
}
private boolean main(){
}
}

而如果全部湊齊 public static void main(String[] args)
在某些情況下還會有特殊屬性
就是對於 JVM 而言,這是一個「入口」,執行程式的起點
也因為要是執行程式的起點,所以它必須具備 public static
(至於原因,請參閱 Java 基礎語法跟概念,不懂再問 XD)
因為最根本的運作環境是 command line
所以 JVM 提供 command line 傳遞參數進 class(就是 args 的功能)
至於 void... 我不確定有什麼特別設計思維在其中 XD


我比較好奇的是,你到底用那一本書
為甚麼前面幾章的 class 完全沒提到這個特別的 main method?
那程式要怎麼執行啊啊啊啊啊 <囧>

--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.18.20
awert:我猜因為沒意義,main跑完,程式不是還在跑就是也結束了 02/24 20:18
awert:忘了說上一句是回應為什麼main是void 02/24 20:19
SP15905:對於void,如果簡單來分,應該可以定義成該method所必須回 02/29 03:40
SP15905:傳的物件類別,其中void為不回傳還是回傳空值(有點忘了sry 02/29 03:42

你可能也想看看

搜尋相關網站