好好学习,天天向上,自学网欢迎您!
当前位置:首页 >  考试 >  计算机类 > 内容页

Java中的main()办法的使用讲授

2021-09-02 04:56:09计算机类访问手机版250

  Java中的main办法的使用讲授

  前言

  JAVA中的主函数是我们再熟悉不外的了,相信每一个学习过JAVA语言的人都可以或许谙练地写出这个顺序的出口函数,但关于主函数为何这么写,此中的每一个关头字辨别是什么意思,大概就不是所有人都能轻松地答出来的了。我也是在学习中碰到了这个成绩,经由过程在网上搜索材料,并加上本人的实践终于有了一点心得,不敢保存,写出来与大师分享。

  Java中的main办法

  java假造机经由过程main办法找到必要启动的运行顺序,而且查抄main函数地点类是不是被java假造机装载。假如没有装载,那么就装载该类,而且装载所有相关的其他类。因此顺序在运行的时候,第一个执行的办法就是main办法。凡是环境下, 假如要运行一个类的办法,必需首先实例化出来这个类的一个工具,然后经由过程"工具名.办法名 "的体式格局来运行办法,但是因为main是顺序的出口,这时候候尚未实例化工具,因此将main办法声明为static的,这样这个办法就能够间接经由过程“类名.办法名 ”的体式格局来调用。

  在看Java中的main办法之前,先看一个最复杂的Java应用顺序HelloWorld,我将经由过程这个例子阐明Java类中main办法的奥妙,顺序的代码如下:

  /** * Java中的main办法详解 */ public class HelloWorld public static void mainString args[] System.out.println"Hello World!";

  1、先说类:

  HelloWorld 类中有main办法,阐明这是个java应用顺序,经由过程JVM间接启动运行的顺序。

  既然是类,java答应类不加public关头字约束,固然类的界说只能限制为public大概无限制关头字(默认的)。

  2、再说main办法

  这个main办法的声明为:public static void mainString args[] 。必需这么界说,这是Java的标准。

  为何要这么界说,和JVM的运行有干系。

  当一个类中有main办法,执行饬令“java 类名”则会启动假造机执行该类中的main办法。

  由于JVM在运行这个Java应用顺序的时候,首先会调用main办法,调用时不实例化这个类的工具,而是经由过程类名间接调用因此必要是限制为public static。

  关于java中的main办法,jvm有限制,不克不及有返回值,因此返回值范例为void。

  main办法中还有一个输入参数,范例为String[],这个也是java的标准,main办法中必需有一个入参,类细必需String[] ,至于字符串数组的名字,这个是可以本人设定的,按照风俗,这个字符串数组的名字一样平常和sun java标准典范榜样中mian参数名坚持分歧,取名为args。

  因此,main办法界说必需是:“public static void mainString 字符串数组参数名[] ”。

  3、main办法中可以throw Exception

  因此main办法中可以抛出非常,main办法上也能够声明抛出非常。

  比方,下面这个写法是正确的:

  public class TestMain public static void mainString[] args throws Exception System.out.println"哈哈哈哈哈"; throw new Exception"";

  运行成果:哈哈哈哈哈 Exception in thread "main" java.lang.Exception: at maintest.TestMain.mainTestMain.java:11 at sun.reflect.NativeMethodAccessorImpl.invoke0Native Method at sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:39 at sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:25 at java.lang.reflect.Method.invokeMethod.java:585 at com.intellij.rt.execution.application.AppMain.mainAppMain.java:90 Process finished with exit code 1

  4、main办法中字符串参数数组感化

  main办法中字符串参数数组感化是接纳饬令行输入参数的,饬令行的参数之间用空格隔开。

  下面给出一个例子,看看如何初始化和使用这个数组的'。

  /*** 打印main办法中的输入参数 */ public class TestMain public static void mainString args[] System.out.println"打印main办法中的输入参数!"; forint i=0;i<args.length;i++ System.out.printlnargs[i];

  执行办法和运行成果

  D:Studybasetestsrc>javac TestMain.java D:Studybasetestsrc>java TestMain 1 2 3 打印main办法中的输入参数! 1 2 3

  5、给出HelloWorld的另一个版本

  /** * 反常版的HelloWorld.呵呵 */ public class HelloWorld2 static System.out.println"Hello Wordld!"; public static void mainString args[] System.exit0;

  这个main办法执行的内容就一句" System.exit0; " ,目的是让顺序正常结束。那“HelloWorld!”是从哪里打印的,奥秘就是在static打印的,因为static代码块的内容会在main调用前调用。

  6、实例

  假造机经由过程调用某个指定类的办法main启动,传送给main一个字符串数组参数,使指定的类被装载,同时链接该类所使用的别的的范例,而且初始化它们。比方关于顺序:

  public class HelloApp public static void mainString[] args System.out.println"Hello World!"; for int i = 0; i < args.length; i++ System.out.printlnargs;

  编译后在饬令行模式下键入: java HelloApp run virtual machine

  将经由过程调用HelloApp的办法main来启动java假造机,传送给main一个包括三个字符串"run"、"virtual"、"machine"的数组。目下当今我们略述假造机在执行HelloApp时大概采纳的步调。

  入手下手试图执行类HelloApp的main办法,发明该类并无被装载,也就是说假造机以后不包括该类的二进制代表,于是假造机使用ClassLoader试图寻找这样的二进制代表。假如这个过程失败,则抛出一个非常。类被装载后同时在main办法被调用之前,必需对类HelloApp与别的范例进行链接然后初始化。链接包括三个阶段:查验,筹办和解析。查验查抄被装载的主类的标记和语义,筹办则创立类或接口的静态域以及把这些域初始化为规范的默认值,解析担任查抄主类对别的类或接口的标记引用,在这一步它是可选的。类的初始化是对类中声明的静态初始化函数和静态域的初始化机关办法的执行。一个类在初始化之前它的父类必需被初始化。

  整个过程如下:

  总结

  main办法作为一个非凡的标准,与普通的办法有很大差别,限制很多,懂得其道理必要学习JVM相关常识。是Java中学习中大妨碍。以上就是小编为大师收拾整顿的对main道理和使用的总结,但愿对大师能有所帮忙,假如有疑问大师可以留言交换。

TAG标签: 讲解 方法 Java main