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<args.length;i++){ 

            System.out.println(args[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

 

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFX LaunchJavaFX的一个重要组件,用于创建和运行桌面应用程序。它简化了创建跨平台 GUI 应用程序的过程,特别是对于那些使用 Scene Builder 或者手动编写 FXML 和 Java 代码的开发者。 JavaFX Launch 主要包含以下几个关键部分: 1. Application 类:这是 JavaFX 应用的基础,继承自 javafx.application.Application。每个 JavaFX 应用都必须有一个此类的实例。 2. Main 方法:通常在 Application 类定义,它是应用的入口点。在这里,你可以设置主舞台(primaryStage)并显示你的界面。 3. FXML 文件:JavaFX 使用 FXML (FXML Document) 来描述用户界面,这是一种 XML 格式,包含了布局信息和控件定义。Launch API 可以轻松加载这些文件并与 Java 代码交互。 4. Launch 类:如 `Application.launch()` 方法,它是一个静态方法,接受一个 Application 类型的参数,用于启动应用程序。你可以通过这个方法来初始化并显示你的 JavaFX 应用。 例如,一个简单的 JavaFX Launch 示例可能如下: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyApplication extends Application { @Override public void start(Stage primaryStage) { // 在这里创建并配置界面元素 StackPane root = new StackPane(); primaryStage.setScene(new Scene(root, 800, 600)); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值