在 Java 中,main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是 main() 方法。main() 方法和其他的方法有很大的不同。

下面先来看最简单的一个 Java 应用程序 HelloWorld,我们将通过这个例子讲解 Java 类中 main() 方法的奥秘,程序的代码如下:

public class HelloWorld {public static void main(String args[]) {System.out.println("Hello World!");}
}

其中,使用 main() 方法时应该注意如下几点:

 访问控制权限是公有的(public)。main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例对象,然后再通过对象调用成员方法。main() 方法没有返回值,只能使用 void。main() 方法具有一个字符串数组参数,用来接收执行 Java 程序的命令行参数。命令行参数作为字符串,按照顺序依次对应字符串数组中的元素。字符串中数组的名字(代码中的 args)可以任意设置,但是根据习惯,这个字符串数组的名字一般和 Java 规范范例中 main() 参数名保持一致,命名为 args,而方法中的其他内容都是固定不变的。main() 方法定义必须是“public static void         main(String[] 字符串数组参数名)”。一个类只能有一个 main() 方法,这是一个常用于对类进行单元测试(对软件中的最小可测试单元进行检查和验证)的技巧。

示例在 main() 方法中调用本类的静态和非静态方法。

public class Student {public void Speak1() {System.out.println("你好!");}public static void Speak2() {System.out.println("Java!");}public static void main(String[] args) {// Speak1();    // 错误调用Speak2();    // 可以直接调用静态方法Speak2()Student t = new Student();t.Speak1();    // 调用非静态方法,需要通过类的对象来调用}
}

由上面代码可以看出,在 main() 方法中只能直接调用静态方法,如果想调用非静态方法,需要将当前类实例化,然后通过类的对象来调用。

创建一个 Java 程序,编写代码实现程序执行时统计传递参数的数量及每个参数值。示例代码如下:

public class TestMain {public static void main(String[] args) {int n = args.length;    // 获取参数数量System.out.println("一共有 "+n+" 个参数");if(n > 0) {   // 判断参数个数是否大于0for(int i = 0;i < n;i++) {System.out.println(args[i]);}}}
}

1 将代码保存到 TestMain.java 文件中(这里把 TestMain.java 文件放到了 D 盘的 myJava 文件夹),然后用如下 Java 命令对程序进行编译:

javac TestMain.java

2 程序编译成功后用如下 Java 命令执行 Test 程序:

java TestMain 参数列表    // 多个之间用空格隔开

这里使用如下三个语句执行程序:

java TestMain
java TestMain apple banana
java TestMain one two three four five six

3 执行结果如下所示:

C:\Users\leovo>d:D:\myJava>javac TestMain.javaD:\myJava>java TestMain
一共有 0 个参数D:\myJava>java TestMain apple banana
一共有 2 个参数
apple
bananaD:\myJava>java TestMain one two three four five six
一共有 6 个参数
one
two
three
four
five
sixD:\myJava>

由此可见,main() 方法可以以字符串的形式接收命令行参数,然后在方法体内进行处理。

Java main()方法相关推荐

  1. main方法中args_public static void main(String [] args)– Java main方法

    main方法中args public static void main(String[] args) is the most important Java method. When you start ...

  2. java main 方法使用 HttpClients发送请求 不打印debug日志

    记录目的:java main 方法使用HttpClients发送请求不打印debug日志 记录背景: 使用java main方法测试接口响应时间 发现问题: 控制台打印巨多debug日志 解决方法: ...

  3. Java main方法

    public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...

  4. Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法

    public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...

  5. Maven exec:java 运行 Java main 方法

    目录 前言 适用条件 方法1 遇到错误:[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java (d ...

  6. java main方法里调用mapper

    在main方法中调用mybatis的mapper,一次性执行导入数据功能package com.runxsoft.test;import com.runxsoft.iutils.common.util ...

  7. java main方法背后的故事?(转)

    jvm java 看似一种语言,实则一个巨大的体系的王国,开发这么多年了,还是没有搞懂,我以为我懂了,可是过了一段时间又忘了,所以说还是没懂 1.main方法说起 编译完我们的java文件后,需要有个 ...

  8. Java main 方法详解

    1.main方法说起 编译完我们的java文件后,需要有个一含有main方法的类,java 命令将指示操作系统启动一个jvm进程 这个jvm进程启动后,寻找那个main地方开始执行程序 java [J ...

  9. 深入理解Java main方法

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,例如 方法的名字必须是main 方法必须 ...

最新文章

  1. OpenCV中Mat数据结构使用举例
  2. 把整数转换成2的n次方的和数组
  3. CString 操作函数
  4. javascript开发后端程序的神器nodejs
  5. python查找指定字符所在行号_python查找字符串中某个字符
  6. Linux ls命令:查看目录下文件
  7. 哈夫曼树(利用python实现)
  8. RabbitMQ(六) Routing路由模式
  9. 自定义事件和jQuery插件
  10. nodepad++通过正则表达式,删除带有特殊字符的某一行
  11. HTK的Network把所有的NetNode对象chain,并重新排序
  12. Windows 7 SP1 多国语言包(MUI language packs)官方下载
  13. [初识python]使用python给单词表加音标
  14. 手游渠道分成的那些坑来等你跳
  15. java poi Excel加密文件导出和下载
  16. publish over ssh、 Kubernetes Continuous Deploy插件
  17. 精选免费论文翻译工具
  18. 基于JAVA汽车租赁系统 (Springboot框架) 开题报告
  19. 计算机考研跨审计好跨嘛,跨专业考研,快来看看你符不符合条件
  20. 十年老程序员的职场教训,很受用

热门文章

  1. maven jar包冲突
  2. linux 环境变量详解,linux环境变量实例详解
  3. Java service层获取HttpServletRequest工具类的方法
  4. Shiro之UsernamePasswordTokenRememberMeAuthenticationTokenAuthenticationToken
  5. python 赚钱 知乎_爬虫实战:抓取知乎问题 “大学生如何赚到一万元”
  6. 高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好
  7. mysql 视图 mybatis_Mybatis调用视图和存储过程的方法
  8. 2021山东科技大学计算机学院,2021年3月山东科技大学计算机等级考试报名工作通知...
  9. 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
  10. 深度残差网络_注意力机制+软阈值化=深度残差收缩网络