這是一個非常基本的問題,我們很多人都不知道這個答案。在java中,要調用靜態方法,我們必須遵循這個classname.method();.但是在調用main()時,即使它是靜態的,它也不會被classname.main()調用。如何調用main方法而不用classname.mainmethod()調用它()
-4
A
回答
3
瞭解如何通過JVM調用「main()」的最佳方法是查看「java」如何調用您的主要方法。 Here是解釋相同的JNI例子。
mid = (*env)->GetStaticMethodID(env, cls, "main", "([Ljava/lang/String;)V");
...
(*env)->CallStaticVoidMethod(env, cls, mid, args);
0
你可以調用Java中的靜態方法,就像它們是實例方法一樣,但這被認爲是不好的做法。
public class Foo {
public static void bar() { ... }
}
...
Foo foo = ...
foo.bar(); // this will work
Foo.bar(); // but this is better
0
它被稱爲與Class.main()作爲必須提供啓動應用程序時包含main()方法,類。
2
是的。 java「解釋器」接受你給它的類名,尋找一個靜態的以String數組爲參數的方法並返回void
,並調用這個方法。 Java解釋器可能會使用本機代碼來完成此操作,但這並不重要。
如果在一個程序裏面,你想調用另一個類的主要方法,你可以。 main
方法在這方面不是特別的。他們唯一特別的事情是他們可以成爲Java解釋器的入口點。
1
當您運行該類時,主要方法由java解釋器自身調用,而不必添加類名稱。 你可以找到更詳細的解釋@Why is the Java main method static?
0
But when comming to main(), its not been called by classname.main() even though it is static.
你怎麼能這麼說?我怕你錯了。
不過,您可以使用對象調用靜態方法。
通常情況下,你永遠不會自己調用main.It是程序的入口點,JVM會調用它來啓動程序的執行。
這也是您在執行代碼時需要傳遞類名稱的原因。
記住這一點:
Java類名
這是你如何在命令行中執行你的計劃。這裏的ClassName是具有主要方法的Class的名稱。
此類名稱由JVM打電話給你的主要方法如ClassName.main()
而這一切的呼叫東西使用本機代碼完成C/C++。你可能想谷歌,在如果你想知道所有這些如何工作。
如果這不是你正在尋找的東西,也許你可以更多地解釋這個問題。
希望這會有所幫助。
相關問題
- 1. 何時調用main而不是調用main?
- 2. 從Main()調用方法
- 3. 在JButton調用main方法
- 4. 如何調用main方法的方法從不同的類
- 5. JavaFX不調用main(String [] args)方法
- 6. Java:調用方法main中的方法
- 7. 調用方法main方法在Java中
- 8. 無法在Main()中調用方法?
- 9. 無法從java main方法調用build.xml
- 10. 無法調用在main方法
- 11. 另一種方法不能調用,而其他方法調用
- 12. 如何從靜態main()方法調用內部類的方法
- 13. ruby方法如何不能repond_方法,而是調用方法?
- 14. 如何攔截類方法調用,而不僅僅是實例方法調用
- 15. 調用類子方法而不是它的孫子方法
- 16. 調用main方法後的附加值
- 17. Main方法中的調用函數
- 18. 從JNI調用main方法失敗
- 19. 如何在Java中使用反射調用類的main()方法
- 20. 如何調用基類方法而不是擴展類方法
- 21. 如何用main方法中的參數調用一個方法if語句?
- 22. Ant:如何獲取Java路徑而不從Main調用路徑?
- 23. 如何在Main()方法被調用後打印任何值?
- 24. 如何在例如Main()中調用異步Go方法?
- 25. Android - AlertDialog不會顯示何時從Main調用方法
- 26. 這些方法如何被使用而不被調用?
- 27. 調用方法,它調用其他方法在Java中
- 28. 如何調用main中的方法以使它們在同一行上輸出?
- 29. onCreate()方法被調用,而不是onNewIntent()
- 30. 調用方法,而不是在parenthsis
請閱讀有關'main'方法的所有信息:http:// stackoverflow。com/questions/146576/why-is-the-java-main-method-static – michael667
你可以對你的「問題」更精確一點嗎?你的意思是'main'被自動調用,所以你不必明確地自己調用它? –