这是一个非常基本的问题,我们很多人都不知道这个答案。在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方法的方法从不同的类
- 2. JavaFX不调用main(String [] args)方法
- 3. 无法在Main()中调用方法?
- 4. 另一种方法不能调用,而其他方法调用
- 5. ruby方法如何不能repond_方法,而是调用方法?
- 6. 调用类子方法而不是它的孙子方法
- 7. 调用main方法后的附加值
- 8. 如何用main方法中的参数调用一个方法if语句?
- 9. 这些方法如何被使用而不被调用?
- 10. 如何调用main中的方法以使它们在同一行上输出?
- 11. 调用异步方法而不等待
- 12. 在UITextView上调用UIKeyboard方法,而不是在UITextFields上调用
- 13. Java:调用自调用方法而不冻结?
- 14. 如何从静态main()中调用方法?
- 15. 如何从java中的main方法调用构造函数?
- 16. 如何在main中调用接口方法?
- 17. 有人可以解释如何调用某些方法而不被调用吗?
- 18. 访问函数的变量调用它,而在main()
- 19. Rhino Mocks:如何在方法调用中模拟方法调用?
- 20. Java使用方法并调用它们
- 21. 调用helper方法调用
- 22. 如何从MainWindow调用一个方法而不创建它的一个实例?
- 23. 如何调用方法
- 24. 如何调用textfieldDidEndEditing方法
- 25. 如何调用该方法?
- 26. 如何调用SOAP方法?
- 27. 如何调用js_of_ocaml方法?
- 28. 如何调用java方法
- 29. 如何调用'popoverControllerDidDismissPopover'方法?
- 30. 如何调用queryAll方法
请阅读有关'main'方法的所有信息:http:// stackoverflow。com/questions/146576/why-is-the-java-main-method-static – michael667
你可以对你的“问题”更精确一点吗?你的意思是'main'被自动调用,所以你不必明确地自己调用它? –