Java中的main方法和Javafx中的launch(args)

关于main的声明:
1.java虚拟机调用的,所以必须为public;

2.当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。

由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要是限制为public static。(类名.main())


3. jvm有限制,不能有返回值,因此返回值类型为void;(似乎是因为拿不到返回值,所以干脆不要了)

4.main函数只能出现在公共类中也就是public class中

除了这个,main方法中的args[]是用来干什么的,我之前就一直好奇。后来查资料才知道:

main()方法中字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开。

参数args为程序使用者在命令行状态下与程序交互提供了一种手段。

比如:javac Test1.java  

           java Test1  60 50 40

接下来遍历args[]数组,

for(int i=0;i

结果就是 60 50 40

还有一个问题:Javafx中Application.launch()传入的参数为什么是args

初学javafx的时候就遇到了这个:

public static void main(String[] args) {
    launch(args);
}

其实这个传参目的是

用于从控制台传入参数,就像main函数main(String[] args)一样,args是控制台传过来的参数。

有时候需要启动的时候传入参数就会用到这个,比如在控制台执行命令 java Demo abc

,abc便会作为参数args传到main函数。

我们知道传数组名其实就是传地址。Javafx中Application.launch()是static

public static void launch(String... args) {
...........
...........
}

     那么有个问题来了,我们经常用eclipse或者idea这种工具编写java程序然后运行,而不是用javac java这种dos窗口的形式,那么怎么向args数组传递参数呢。

eclipse中可以在运行的时候选择运行参数 : 点击  Run -> Run Configurations  ->  Java Application ,然后选择项目对应的类 Test1 ,再点击 Arguments,在program arguments框中 输入字符串"60 50 40"作为程序运行参数,然后点 Apply  ->  Run

 

你可能感兴趣的:(Java中的main方法和Javafx中的launch(args))