java中public static void main(String args[])具体是什么意思?

java中public static void main(String args[])具体是什么意思?

主函数的一般写法如下:
public static void main(String[ ] args){…}

命令行格式:java [命令参数] 文件名 [args[0](用户参数) args[1] … 比如 java - cs AClass a b c

1.关于main()方法中的修饰符public
java虚拟机规范并没有要求main一定是public的,所以public可以省略,它只是为了main()方法可以从任意一个java运行环境中调用。不过没有public 虽然编译无错误,但是虚拟机无法启动应用程序。

这里注意JAVA的一个基础知识:

类 XX 是公共的,应在名为 XX .java 的文件中声明,出现这样的编译错误,
因为:一个*.java文件中,只能有一个public类!!!公共类的名字必须和这个类所在文件名称相同,如果main没有在这个.java文件的public类中,会提示没有主方法,也就说,能编译通过,但是不能执行哦。

2.关于main()方法中的关键字static
静态方法不能访问实例字段。但可访问自身类中的静态字段。
main方法是且必须是一个静态方法,所以static 必须写。如果没有static,运行时出错。
3 . main()方法的返回类型和返回值
main(String[] arg)如果不写void会有编译错误
如果不写static和[ ]会有运行错误

main()方法并不向操作系统返回“退出代码”。java中,如果main方法正常退出,Java程序的退出代码为0,表示成功地实行完毕程序。若要用不同的退出代码终止程序,则使用System.exit方法。
因为main()方法是可以重载的,所以返回类型可以void ,int ,boolean… 但如果从应用程序的入口main()方法的角度看,则只能用void返回。

4.main()方法及命令行参数相联系的若干注意;
当缺少String[]args时,虽然编译可以通过,但是运行时无法获取有效的main方法,运行时候会报错。其中方法参数名字args可以改变。
要知道知道String数组长度,可以直接用args.length即可。
当没有用户参数的时候,如果进行args[0]等的访问,会抛出一个数组越界异常。
5. main()方法只作为Java应用程序的入口。Applet程序不需要main()方法,一般由浏览器不同方式启动,其入口程序一般为init()方法。
6.main也可作为普通方法名。

你可能感兴趣的:(java,经验分享)