main方法为何为public static void
来源:互联网 发布:淘宝页面图片 编辑:程序博客网 时间:2024/05/22 01:55
main方法为何为public static void
参考内容来自stackoverflow
链接如下
- why is the java main method static
- public static void main(String arg[ ] ) in java is it fixed?
笔者综合了stackoverflow上的不少回答,总结如下:
关于main方法的签名在《Oracle Java Language Specification》的第12.1.4节里面有详细的定义。
The method main must be declared public, static, and void. It must accept a single argument that is an array of strings. This method can be declared as either. —— O.J.L.S section 12.1.4
在JDK源码中我们也能发现这样的规定
FROM : (jdk-src\j2se\src\share\bin\java.c)
/* Get the application's main method */mainID = (*env)->GetStaticMethodID(env, mainClass, "main","([Ljava/lang/String;)V");
我们可以清晰的看到main方法签名。
对于为何这样定义,Stackoverflow的解释为:
- public的原因为让外部可以访问到它;
- static是因为调用这个程序的入口方法无形实例化所在类的对象;
- void是因为让入口方法返回值是没有意义的,因为程序很有可能在到达方法尾部之前结束如调用System.exit(int status);
- String[] args是用来接收启动程序时传入的参数
- 起名为“main”是因为在过去大量使用C的日子里,方法名称是很有讲究的。main在C语言中就是入口函数的名称,Java沿袭这个传统。
综上所述,main方法长这个样子,可以说就是一种惯例,一种规定,一种convention。
0 0
- main方法为何为public static void
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- 为什么 main 方法是 public static void?
- 为什么main方法是public static void?
- 为什么main方法是public static void?
- public static void main
- public static void main(String[] args){} 关于Java main()方法
- 为什么java的main方法是public static void
- main方法为什么一定是Public static void
- 为什么需要public static void main(String[] args)这个方法
- java学习——错误: main 方法不是类 Vo 中的static, 请将 main 方法定义为:public static void main(String[] args)
- 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap
- public static void main(String[] args) 分析
- rsyncd配置示例,
- C++中引用(&)的用法和应用实例===引用和多态的关系!!!!!!!!!!!!!!!!!
- 【面试ing】腾讯模拟笔试
- 精通Hibernate——Hibernate使用触发器需要注意的两点
- Android稳定性
- main方法为何为public static void
- hdu4407容斥原理
- JavaBean基本的内省
- java中的计数信号量(Counting Semaphore)
- CodeForces 288A
- Android四大组件之Activity
- 多线程
- 在VS2013中配置OpenGL及所需库文件下载
- 【C/C++】类和结构