大家好,又见面了,我是你们的朋友全栈君。
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。
技术是开源的、知识是共享的
。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。用知识改变命运,让我们的家人过上更好的生活
。
main
方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么 main
方法是 public、static、void
的。当然,很多人首先学的是C和C++,但是在Java中main方法与前者有些细微的不同,它不会返回任何值,为什么 main
方法是 public、static、void
,这篇文章尝试去找到一些答案。
main
方法是Java程序的入口,记住,我们这里不会讨论Servlet、MIDlet和其他任何容器管理的java程序,在java核心编程中,JVM会查找类中的 public static void main(String[]args),如果找不到该方法就抛出错误NoSuchMethodError:main 程序终止。
main
方法必须严格遵循它的语法规则,方法签名必须是 public static void
,参数是字符串数组类型,如果是Java1.5及以后的版本还可以使用可变参数:
public static void main(String... args)
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
因为main返回任何值对程序都没任何意义,所以设计成void,意味着main不会有任何值返回。
main
方法必须声明为public、static、void
,否则JVM没法运行程序
main
方法就抛出NoSuchMethodError:main异常,例如:如果你运行命令:java HelloWrold,JVM就会在HelloWorld.class文件中搜索public static void main (String[] args)
方法。
main
方法是程序的入口,程序执行的开始处。
main
方法被一个特定的线程”main”运行,程序会一直运行直到main线程结束或者non-daemon线程终止。
main
方法使用java1.5的可变参数的方式如:
public static void main(String... args)
static、void、和public
,你可以使用final
,synchronized
、和strictfp
修饰符在main
方法的签名中,如:
public strictfp final synchronized static void main(String[] args)
main
方法在Java可以像其他方法一样被重载,但是JVM只会调用上面这种签名规范的main方法。
throws
子句在方法签名中,可以抛出任何checked和unchecked异常。
main
方法前被执行,它们在类被JVM加载到内存的时候就被执行了。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138361.html原文链接:https://javaforall.cn